13
0

Corrected comments for x86_sse_avx_find_peaks() intrinsics built function

This commit is contained in:
Paul Davis 2015-05-12 21:15:48 -04:00
parent 07c0750142
commit 92df1594f9

View File

@ -28,7 +28,7 @@ x86_sse_avx_find_peaks(const ARDOUR::Sample* buf, ARDOUR::pframes_t nframes, flo
{ {
__m256 current_max, current_min, work; __m256 current_max, current_min, work;
// Load max and min values into all four slots of the XMM registers // Load max and min values into all eight slots of the YMM registers
current_min = _mm256_set1_ps(*min); current_min = _mm256_set1_ps(*min);
current_max = _mm256_set1_ps(*max); current_max = _mm256_set1_ps(*max);
@ -49,8 +49,8 @@ x86_sse_avx_find_peaks(const ARDOUR::Sample* buf, ARDOUR::pframes_t nframes, flo
// load each 64 bytes into cash before processing // load each 64 bytes into cash before processing
while (nframes >= 16) { while (nframes >= 16) {
#if defined(COMPILER_MSVC) || defined(COMPILER_MINGW) #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
_mm_prefetch(((char*)buf+64), _mm_hint(0) ); // A total guess! Assumed to be eqivalent to _mm_prefetch(((char*)buf+64), _mm_hint(0) );
#else // the line below but waiting to be tested !! #else
__builtin_prefetch(buf+64,0,0); __builtin_prefetch(buf+64,0,0);
#endif #endif
work = _mm256_load_ps(buf); work = _mm256_load_ps(buf);
@ -112,9 +112,8 @@ x86_sse_avx_find_peaks(const ARDOUR::Sample* buf, ARDOUR::pframes_t nframes, flo
*max = current_max[0]; *max = current_max[0];
// zero upper 128 bit of 256 bit ymm register to avoid penalties using non AVX instructions // zero upper 128 bit of 256 bit ymm register to avoid penalties using non-AVX instructions
_mm256_zeroupper (); _mm256_zeroupper ();
} }