diff options
author | James Almer <jamrial@gmail.com> | 2015-08-03 03:28:37 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2015-08-03 17:11:13 -0300 |
commit | 5750d6c5e9d184488f4dc0f9e81cbcc28cb2f2d1 (patch) | |
tree | 41fcfa1cde031405eebbab47c280511c96476d28 /libswresample/x86/resample.asm | |
parent | 2ca0ed9cfda21c8a6f9884b93613602782dcda71 (diff) | |
download | ffmpeg-streaming-5750d6c5e9d184488f4dc0f9e81cbcc28cb2f2d1.zip ffmpeg-streaming-5750d6c5e9d184488f4dc0f9e81cbcc28cb2f2d1.tar.gz |
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 'libswresample/x86/resample.asm')
-rw-r--r-- | libswresample/x86/resample.asm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libswresample/x86/resample.asm b/libswresample/x86/resample.asm index a57ff37..4989aa6 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 |