summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2015-08-03 03:28:37 -0300
committerJames Almer <jamrial@gmail.com>2015-08-03 17:11:13 -0300
commit5750d6c5e9d184488f4dc0f9e81cbcc28cb2f2d1 (patch)
tree41fcfa1cde031405eebbab47c280511c96476d28 /libavcodec/x86
parent2ca0ed9cfda21c8a6f9884b93613602782dcda71 (diff)
x86: move XOP emulation code back to x86inc
Only two functions that use xop multiply-accumulate instructions where the first operand is the same as the fourth actually took advantage of the macros. This further reduces differences with x264's x86inc. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/flacdsp.asm9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/x86/flacdsp.asm b/libavcodec/x86/flacdsp.asm
index 901c440ccd..7138611526 100644
--- a/libavcodec/x86/flacdsp.asm
+++ b/libavcodec/x86/flacdsp.asm
@@ -25,6 +25,15 @@
SECTION .text
+%macro PMACSDQL 5
+%if cpuflag(xop)
+ pmacsdql %1, %2, %3, %1
+%else
+ pmuldq %2, %3
+ paddq %1, %2
+%endif
+%endmacro
+
%macro LPC_32 1
INIT_XMM %1
cglobal flac_lpc_32, 5,6,5, decoded, coeffs, pred_order, qlevel, len, j