mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge commit '206895708ea2b464755d340e44501daf9a07c310'
* commit '206895708ea2b464755d340e44501daf9a07c310': x86inc: Remove our FMA4 support Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
9ac124c889
@ -390,10 +390,10 @@ cglobal mix_%1_to_%2_%3_flt, 3,in_channels+2,needed_mmregs+matrix_elements_mm, n
|
|||||||
S16_TO_S32_SX 4, 5
|
S16_TO_S32_SX 4, 5
|
||||||
cvtdq2ps m4, m4
|
cvtdq2ps m4, m4
|
||||||
cvtdq2ps m5, m5
|
cvtdq2ps m5, m5
|
||||||
fmaddps m2, m4, mx_1_ %+ %%i, m2, m6
|
FMULADD_PS m2, m4, mx_1_ %+ %%i, m2, m6
|
||||||
fmaddps m3, m5, mx_1_ %+ %%i, m3, m6
|
FMULADD_PS m3, m5, mx_1_ %+ %%i, m3, m6
|
||||||
fmaddps m0, m4, mx_0_ %+ %%i, m0, m4
|
FMULADD_PS m0, m4, mx_0_ %+ %%i, m0, m4
|
||||||
fmaddps m1, m5, mx_0_ %+ %%i, m1, m5
|
FMULADD_PS m1, m5, mx_0_ %+ %%i, m1, m5
|
||||||
%else
|
%else
|
||||||
%if copy_src_from_stack
|
%if copy_src_from_stack
|
||||||
mov src_ptr, src %+ %%i %+ m
|
mov src_ptr, src %+ %%i %+ m
|
||||||
@ -402,8 +402,8 @@ cglobal mix_%1_to_%2_%3_flt, 3,in_channels+2,needed_mmregs+matrix_elements_mm, n
|
|||||||
S16_TO_S32_SX 2, 3
|
S16_TO_S32_SX 2, 3
|
||||||
cvtdq2ps m2, m2
|
cvtdq2ps m2, m2
|
||||||
cvtdq2ps m3, m3
|
cvtdq2ps m3, m3
|
||||||
fmaddps m0, m2, mx_0_ %+ %%i, m0, m4
|
FMULADD_PS m0, m2, mx_0_ %+ %%i, m0, m4
|
||||||
fmaddps m1, m3, mx_0_ %+ %%i, m1, m4
|
FMULADD_PS m1, m3, mx_0_ %+ %%i, m1, m4
|
||||||
%endif
|
%endif
|
||||||
%assign %%i %%i+1
|
%assign %%i %%i+1
|
||||||
%endrep
|
%endrep
|
||||||
@ -443,12 +443,12 @@ cglobal mix_%1_to_%2_%3_flt, 3,in_channels+2,needed_mmregs+matrix_elements_mm, n
|
|||||||
mova m2, [src_ptr+lenq]
|
mova m2, [src_ptr+lenq]
|
||||||
%endif
|
%endif
|
||||||
%if stereo
|
%if stereo
|
||||||
fmaddps m1, m2, mx_1_ %+ %%i, m1, m3
|
FMULADD_PS m1, m2, mx_1_ %+ %%i, m1, m3
|
||||||
%endif
|
%endif
|
||||||
%if stereo || mx_stack_0_ %+ %%i
|
%if stereo || mx_stack_0_ %+ %%i
|
||||||
fmaddps m0, m2, mx_0_ %+ %%i, m0, m2
|
FMULADD_PS m0, m2, mx_0_ %+ %%i, m0, m2
|
||||||
%else
|
%else
|
||||||
fmaddps m0, mx_0_ %+ %%i, [src_ptr+lenq], m0, m1
|
FMULADD_PS m0, mx_0_ %+ %%i, [src_ptr+lenq], m0, m1
|
||||||
%endif
|
%endif
|
||||||
%assign %%i %%i+1
|
%assign %%i %%i+1
|
||||||
%endrep
|
%endrep
|
||||||
|
@ -1408,22 +1408,16 @@ AVX_INSTR pfmul, 1, 0, 1
|
|||||||
%undef j
|
%undef j
|
||||||
|
|
||||||
%macro FMA_INSTR 3
|
%macro FMA_INSTR 3
|
||||||
%macro %1 5-8 %1, %2, %3
|
%macro %1 4-7 %1, %2, %3
|
||||||
%if cpuflag(xop) || cpuflag(fma4)
|
%if cpuflag(xop)
|
||||||
v%6 %1, %2, %3, %4
|
v%5 %1, %2, %3, %4
|
||||||
%else
|
%else
|
||||||
%ifidn %1, %4
|
%6 %1, %2, %3
|
||||||
%7 %5, %2, %3
|
%7 %1, %4
|
||||||
%8 %1, %4, %5
|
|
||||||
%else
|
|
||||||
%7 %1, %2, %3
|
|
||||||
%8 %1, %4
|
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
FMA_INSTR fmaddps, mulps, addps
|
|
||||||
FMA_INSTR pmacsdd, pmulld, paddd
|
FMA_INSTR pmacsdd, pmulld, paddd
|
||||||
FMA_INSTR pmacsww, pmullw, paddw
|
FMA_INSTR pmacsww, pmullw, paddw
|
||||||
FMA_INSTR pmadcswd, pmaddwd, paddd
|
FMA_INSTR pmadcswd, pmaddwd, paddd
|
||||||
|
@ -665,3 +665,14 @@
|
|||||||
psrad %1, 16
|
psrad %1, 16
|
||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
; Wrapper for non-FMA version of fmaddps
|
||||||
|
%macro FMULADD_PS 5
|
||||||
|
%ifidn %1, %4
|
||||||
|
mulps %5, %2, %3
|
||||||
|
addps %1, %4, %5
|
||||||
|
%else
|
||||||
|
mulps %1, %2, %3
|
||||||
|
addps %1, %4
|
||||||
|
%endif
|
||||||
|
%endmacro
|
||||||
|
Loading…
Reference in New Issue
Block a user