Commit 9ac124c8 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '20689570'

* commit '20689570':
  x86inc: Remove our FMA4 support
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 12e4493f 20689570
...@@ -390,10 +390,10 @@ cglobal mix_%1_to_%2_%3_flt, 3,in_channels+2,needed_mmregs+matrix_elements_mm, n ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 @@ ...@@ -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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment