summaryrefslogtreecommitdiff
path: root/libavutil/x86
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2014-02-08 02:54:50 -0300
committerMichael Niedermayer <michaelni@gmx.at>2014-02-13 22:14:24 +0100
commit23a8c63452009df21b3f184936b343593d4ccb04 (patch)
treefb0b741d43c126c1ddd3bd36cbecb7c7f90f56b8 /libavutil/x86
parent623f380a18443e149dd58ed6a2ede23732734d4d (diff)
x86inc: Extend FMA_INSTR functionality
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@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/x86')
-rw-r--r--libavutil/x86/x86inc.asm4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index c455367e7f..88cae0cb48 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.