diff options
author | trav90 <travawine@palemoon.org> | 2022-05-30 14:44:19 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2022-05-30 14:49:22 -0500 |
commit | 8510f335c3ff39c207d8cb906da3eb91cd73d75a (patch) | |
tree | 88bc89f66bc6b15e27dab678d34c43aaad75de80 /libs/ffvpx/libavutil/x86/float_dsp.asm | |
parent | f11b40c3ab4a5a766b0b71ab1e9a6199b23bbfeb (diff) | |
download | aura-central-8510f335c3ff39c207d8cb906da3eb91cd73d75a.tar.gz |
[Libs:ffvpx] Update FFVPX to version 4.2.7
Diffstat (limited to 'libs/ffvpx/libavutil/x86/float_dsp.asm')
-rw-r--r-- | libs/ffvpx/libavutil/x86/float_dsp.asm | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libs/ffvpx/libavutil/x86/float_dsp.asm b/libs/ffvpx/libavutil/x86/float_dsp.asm index 06d2d2cfd..517fd6363 100644 --- a/libs/ffvpx/libavutil/x86/float_dsp.asm +++ b/libs/ffvpx/libavutil/x86/float_dsp.asm @@ -58,6 +58,39 @@ INIT_YMM avx VECTOR_FMUL %endif +;----------------------------------------------------------------------------- +; void vector_dmul(double *dst, const double *src0, const double *src1, int len) +;----------------------------------------------------------------------------- +%macro VECTOR_DMUL 0 +cglobal vector_dmul, 4,4,4, dst, src0, src1, len + lea lend, [lenq*8 - mmsize*4] +ALIGN 16 +.loop: + movaps m0, [src0q + lenq + 0*mmsize] + movaps m1, [src0q + lenq + 1*mmsize] + movaps m2, [src0q + lenq + 2*mmsize] + movaps m3, [src0q + lenq + 3*mmsize] + mulpd m0, m0, [src1q + lenq + 0*mmsize] + mulpd m1, m1, [src1q + lenq + 1*mmsize] + mulpd m2, m2, [src1q + lenq + 2*mmsize] + mulpd m3, m3, [src1q + lenq + 3*mmsize] + movaps [dstq + lenq + 0*mmsize], m0 + movaps [dstq + lenq + 1*mmsize], m1 + movaps [dstq + lenq + 2*mmsize], m2 + movaps [dstq + lenq + 3*mmsize], m3 + + sub lenq, mmsize*4 + jge .loop + RET +%endmacro + +INIT_XMM sse2 +VECTOR_DMUL +%if HAVE_AVX_EXTERNAL +INIT_YMM avx +VECTOR_DMUL +%endif + ;------------------------------------------------------------------------------ ; void ff_vector_fmac_scalar(float *dst, const float *src, float mul, int len) ;------------------------------------------------------------------------------ |