mirror of
https://github.com/RPCS3/soundtouch.git
synced 2024-09-20 00:11:38 +02:00
Cleaned comments
This commit is contained in:
parent
3b35f34ab8
commit
6a297adf2e
@ -423,88 +423,6 @@ uint FIRFilterSSE::evaluateFilterStereo(float *dest, const float *source, uint n
|
|||||||
dest += 4;
|
dest += 4;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/* Similar routine in assembly, again obsoleted due to maintainability
|
|
||||||
_asm
|
|
||||||
{
|
|
||||||
// Very important note: data in 'src' _must_ be aligned to
|
|
||||||
// 16-byte boundary!
|
|
||||||
mov edx, count
|
|
||||||
mov ebx, dword ptr src
|
|
||||||
mov eax, dword ptr dest
|
|
||||||
shr edx, 1
|
|
||||||
|
|
||||||
loop1:
|
|
||||||
// "outer loop" : during each round 2*2 output samples are calculated
|
|
||||||
|
|
||||||
// give prefetch hints to CPU of what data are to be needed soonish
|
|
||||||
prefetcht0 [ebx]
|
|
||||||
prefetcht0 [filterCoeffsLocal]
|
|
||||||
|
|
||||||
mov esi, ebx
|
|
||||||
mov edi, filterCoeffsLocal
|
|
||||||
xorps xmm0, xmm0
|
|
||||||
xorps xmm1, xmm1
|
|
||||||
mov ecx, lengthLocal
|
|
||||||
|
|
||||||
loop2:
|
|
||||||
// "inner loop" : during each round eight FIR filter taps are evaluated for 2*2 samples
|
|
||||||
prefetcht0 [esi + 32] // give a prefetch hint to CPU what data are to be needed soonish
|
|
||||||
prefetcht0 [edi + 32] // give a prefetch hint to CPU what data are to be needed soonish
|
|
||||||
|
|
||||||
movups xmm2, [esi] // possibly unaligned load
|
|
||||||
movups xmm3, [esi + 8] // possibly unaligned load
|
|
||||||
mulps xmm2, [edi]
|
|
||||||
mulps xmm3, [edi]
|
|
||||||
addps xmm0, xmm2
|
|
||||||
addps xmm1, xmm3
|
|
||||||
|
|
||||||
movups xmm4, [esi + 16] // possibly unaligned load
|
|
||||||
movups xmm5, [esi + 24] // possibly unaligned load
|
|
||||||
mulps xmm4, [edi + 16]
|
|
||||||
mulps xmm5, [edi + 16]
|
|
||||||
addps xmm0, xmm4
|
|
||||||
addps xmm1, xmm5
|
|
||||||
|
|
||||||
prefetcht0 [esi + 64] // give a prefetch hint to CPU what data are to be needed soonish
|
|
||||||
prefetcht0 [edi + 64] // give a prefetch hint to CPU what data are to be needed soonish
|
|
||||||
|
|
||||||
movups xmm6, [esi + 32] // possibly unaligned load
|
|
||||||
movups xmm7, [esi + 40] // possibly unaligned load
|
|
||||||
mulps xmm6, [edi + 32]
|
|
||||||
mulps xmm7, [edi + 32]
|
|
||||||
addps xmm0, xmm6
|
|
||||||
addps xmm1, xmm7
|
|
||||||
|
|
||||||
movups xmm4, [esi + 48] // possibly unaligned load
|
|
||||||
movups xmm5, [esi + 56] // possibly unaligned load
|
|
||||||
mulps xmm4, [edi + 48]
|
|
||||||
mulps xmm5, [edi + 48]
|
|
||||||
addps xmm0, xmm4
|
|
||||||
addps xmm1, xmm5
|
|
||||||
|
|
||||||
add esi, 64
|
|
||||||
add edi, 64
|
|
||||||
dec ecx
|
|
||||||
jnz loop2
|
|
||||||
|
|
||||||
// Now xmm0 and xmm1 both have a filtered 2-channel sample each, but we still need
|
|
||||||
// to sum the two hi- and lo-floats of these registers together.
|
|
||||||
|
|
||||||
movhlps xmm2, xmm0 // xmm2 = xmm2_3 xmm2_2 xmm0_3 xmm0_2
|
|
||||||
movlhps xmm2, xmm1 // xmm2 = xmm1_1 xmm1_0 xmm0_3 xmm0_2
|
|
||||||
shufps xmm0, xmm1, 0xe4 // xmm0 = xmm1_3 xmm1_2 xmm0_1 xmm0_0
|
|
||||||
addps xmm0, xmm2
|
|
||||||
|
|
||||||
movaps [eax], xmm0
|
|
||||||
add ebx, 16
|
|
||||||
add eax, 16
|
|
||||||
|
|
||||||
dec edx
|
|
||||||
jnz loop1
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // SOUNDTOUCH_ALLOW_SSE
|
#endif // SOUNDTOUCH_ALLOW_SSE
|
||||||
|
Loading…
Reference in New Issue
Block a user