loongarch: add lsx simd opt

This commit is contained in:
yuanhecai
2025-08-26 14:21:45 +08:00
parent 9feadb98a9
commit c94458d8f2
11 changed files with 135 additions and 7 deletions

View File

@@ -38,8 +38,14 @@ double two_tone_test( int nfft, int bin1,int bin2)
/* generate a signal with two tones*/
for (i = 0; i < nfft; i++) {
#ifdef USE_SIMD
#ifdef HAVE_LSX
float tmp = (maxrange>>1)*cos(f1*i) + (maxrange>>1)*cos(f2*i);
tbuf[i] = (__m128)__lsx_vldrepl_w(&tmp, 0);
#else
tbuf[i] = _mm_set1_ps( (maxrange>>1)*cos(f1*i)
+ (maxrange>>1)*cos(f2*i) );
#endif
#else
tbuf[i] = (maxrange>>1)*cos(f1*i)
+ (maxrange>>1)*cos(f2*i);