[FFmpeg-devel] [PATCH 1/2] x86inc: Extend FMA_INSTR functionality

James Almer jamrial at gmail.com
Sat Feb 8 06:54:50 CET 2014


Support the cases where the first and last operand of
the XOP instruction are the same.

Also add vpmacsdql emulation.

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavutil/x86/x86inc.asm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index c455367..88cae0c 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -1411,6 +1411,9 @@ AVX_INSTR pfmul, 1, 0, 1
     %macro %1 4-7 %1, %2, %3
         %if cpuflag(xop)
             v%5 %1, %2, %3, %4
+        %elifidn %1, %4
+            %6 %2, %3
+            %7 %1, %2
         %else
             %6 %1, %2, %3
             %7 %1, %4
@@ -1420,6 +1423,7 @@ AVX_INSTR pfmul, 1, 0, 1
 
 FMA_INSTR  pmacsdd,  pmulld, paddd
 FMA_INSTR  pmacsww,  pmullw, paddw
+FMA_INSTR pmacsdql,  pmuldq, paddq
 FMA_INSTR pmadcswd, pmaddwd, paddd
 
 ; tzcnt is equivalent to "rep bsf" and is backwards-compatible with bsf.
-- 
1.8.3.2



More information about the ffmpeg-devel mailing list