From 040281bccc424341c964788aa7ca17876a5ac6a4 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Sat, 21 Jan 2023 18:36:34 +0100 Subject: Minor, CPU performance --- Whisper/Whisper/melSpectrogram.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Whisper/Whisper/melSpectrogram.cpp b/Whisper/Whisper/melSpectrogram.cpp index 468962f..a178d16 100644 --- a/Whisper/Whisper/melSpectrogram.cpp +++ b/Whisper/Whisper/melSpectrogram.cpp @@ -280,9 +280,10 @@ float* SpectrogramContext::fftRecursion( float* temp, const float* const rsi, co out[ 2 * ( k + N / 2 ) + 0 ] = evenFft[ 2 * k + 0 ] - re * re_odd + im * im_odd; out[ 2 * ( k + N / 2 ) + 1 ] = evenFft[ 2 * k + 1 ] - re * im_odd - im * re_odd; */ - - const __m128 re = _mm_set_ss( std::cosf( theta ) ); - const __m128 im = _mm_set_ss( std::sinf( theta ) ); + float sine, cosine; + DirectX::XMScalarSinCos( &sine, &cosine, theta ); + const __m128 re = _mm_set_ss( cosine ); + const __m128 im = _mm_set_ss( sine ); __m128 reIm = _mm_shuffle_ps( re, im, _MM_SHUFFLE( 0, 0, 0, 0 ) ); // [ re, re, im, im ] reIm = _mm_xor_ps( reIm, maskNegateHigh ); -- cgit v1.2.3