diff options
author | Paul B Mahol <onemda@gmail.com> | 2022-09-12 18:53:31 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2022-09-13 17:43:16 +0200 |
commit | 37a503ac879ca7677beb7423c33a6c5d24dd6396 (patch) | |
tree | 30579b42382929296c64929bc0dd5d52394b61fb /libavcodec/x86/audiodsp.asm | |
parent | 72acff9f593f977944a62652fc9dd346ec53225a (diff) | |
download | ffmpeg-37a503ac879ca7677beb7423c33a6c5d24dd6396.tar.gz |
avcodec/x86/audiodsp: add scalarproduct avx2
Diffstat (limited to 'libavcodec/x86/audiodsp.asm')
-rw-r--r-- | libavcodec/x86/audiodsp.asm | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libavcodec/x86/audiodsp.asm b/libavcodec/x86/audiodsp.asm index b604b0443c..f64077cb13 100644 --- a/libavcodec/x86/audiodsp.asm +++ b/libavcodec/x86/audiodsp.asm @@ -44,6 +44,24 @@ cglobal scalarproduct_int16, 3,3,3, v1, v2, order movd eax, m2 RET +%if HAVE_AVX2_EXTERNAL +INIT_YMM avx2 +cglobal scalarproduct_int16, 3,3,2, v1, v2, order + add orderd, orderd + add v1q, orderq + add v2q, orderq + neg orderq + pxor m1, m1 +.loop: + movu m0, [v1q + orderq] + pmaddwd m0, [v2q + orderq] + paddd m1, m0 + add orderq, mmsize + jl .loop + HADDD m1, m0 + movd eax, xm1 + RET +%endif ;----------------------------------------------------------------------------- ; void ff_vector_clip_int32(int32_t *dst, const int32_t *src, int32_t min, |