summaryrefslogtreecommitdiff
path: root/libavutil/x86
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2012-06-18 23:39:14 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2012-07-27 11:25:48 -0400
commit79687079a97a039c325ab79d7a95920d800b791f (patch)
treeb9a7056666e923047c1f0722f4e0e6dafa35ad8d /libavutil/x86
parent0cf7d849ffcd82ef4b8279b0a5aec306c29717f7 (diff)
x86: add support for fmaddps fma4 instruction with abstraction to avx/sse
Diffstat (limited to 'libavutil/x86')
-rw-r--r--libavutil/x86/x86inc.asm16
1 files changed, 11 insertions, 5 deletions
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index b76a10ca5e..4b4a19b208 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -1093,16 +1093,22 @@ AVX_INSTR pfmul, 1, 0, 1
%undef j
%macro FMA_INSTR 3
- %macro %1 4-7 %1, %2, %3
- %if cpuflag(xop)
- v%5 %1, %2, %3, %4
+ %macro %1 5-8 %1, %2, %3
+ %if cpuflag(xop) || cpuflag(fma4)
+ v%6 %1, %2, %3, %4
%else
- %6 %1, %2, %3
- %7 %1, %4
+ %ifidn %1, %4
+ %7 %5, %2, %3
+ %8 %1, %4, %5
+ %else
+ %7 %1, %2, %3
+ %8 %1, %4
+ %endif
%endif
%endmacro
%endmacro
+FMA_INSTR fmaddps, mulps, addps
FMA_INSTR pmacsdd, pmulld, paddd
FMA_INSTR pmacsww, pmullw, paddw
FMA_INSTR pmadcswd, pmaddwd, paddd