[FFmpeg-cvslog] x86inc: support AVX abstraction for 2-operand instructions

Loren Merritt git at videolan.org
Thu Apr 19 21:45:53 CEST 2012


ffmpeg | branch: master | Loren Merritt <pengvado at akuvian.org> | Tue Apr 10 10:40:38 2012 -0400| [705f3d4759e80044c2a33020aef05b1ed0150558] | committer: Justin Ruggles

x86inc: support AVX abstraction for 2-operand instructions

Add cvtdq2ps and cvtps2dq to the AVX instruction list.

Signed-off-by: Justin Ruggles <justin.ruggles at gmail.com>

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

 libavutil/x86/x86inc.asm |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index ea9f9a1..c167057 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



More information about the ffmpeg-cvslog mailing list