Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/alexmarsev/soundtouch.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroparviai <oparviai@f3a24b6a-cf45-0410-b55a-8c22e2698227>2011-07-16 16:27:28 +0400
committeroparviai <oparviai@f3a24b6a-cf45-0410-b55a-8c22e2698227>2011-07-16 16:27:28 +0400
commit13e764ffaeb41aaa4e9b17776b1316cc44b5c638 (patch)
tree64acd2a15bc7ac9eaa0e74d5501df33b1d809c19
parent412028264d43b4f56761863db251a3b9ae3bdaba (diff)
Cleaned comments
-rw-r--r--source/SoundTouch/sse_optimized.cpp82
1 files changed, 0 insertions, 82 deletions
diff --git a/source/SoundTouch/sse_optimized.cpp b/source/SoundTouch/sse_optimized.cpp
index a1f318b..d989ad5 100644
--- a/source/SoundTouch/sse_optimized.cpp
+++ b/source/SoundTouch/sse_optimized.cpp
@@ -423,88 +423,6 @@ uint FIRFilterSSE::evaluateFilterStereo(float *dest, const float *source, uint n
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