summaryrefslogtreecommitdiff
path: root/libswresample/x86
diff options
context:
space:
mode:
Diffstat (limited to 'libswresample/x86')
-rw-r--r--libswresample/x86/resample.asm7
1 files changed, 6 insertions, 1 deletions
diff --git a/libswresample/x86/resample.asm b/libswresample/x86/resample.asm
index a57ff37bb9..4989aa6991 100644
--- a/libswresample/x86/resample.asm
+++ b/libswresample/x86/resample.asm
@@ -176,7 +176,12 @@ cglobal resample_common_%1, 1, 7, 2, ctx, phase_shift, dst, frac, \
.inner_loop:
movu m1, [srcq+min_filter_count_x4q*1]
%ifidn %1, int16
- PMADCSWD m0, m1, [filterq+min_filter_count_x4q*1], m0, m1
+%if cpuflag(xop)
+ vpmadcswd m0, m1, [filterq+min_filter_count_x4q*1], m0
+%else
+ pmaddwd m1, [filterq+min_filter_count_x4q*1]
+ paddd m0, m1
+%endif
%else ; float/double
%if cpuflag(fma4) || cpuflag(fma3)
fmaddp%4 m0, m1, [filterq+min_filter_count_x4q*1], m0