Add Intrinsics usage by SIMDE

This commit is contained in:
Bruno Mongazon-Cazavet
2022-09-28 18:21:19 +02:00
committed by Robert Schmidt
parent a1de5e3d11
commit fe1dc24e28
114 changed files with 7900 additions and 11031 deletions
+4 -4
View File
@@ -339,7 +339,7 @@ void nr_dft(int32_t *z, int32_t *d, uint32_t Msc_PUSCH)
{
#if defined(__x86_64__) || +defined(__i386__)
__m128i dft_in128[1][3240], dft_out128[1][3240];
#elif defined(__arm__)
#elif defined(__arm__) || defined(__aarch64__)
int16x8_t dft_in128[1][3240], dft_out128[1][3240];
#endif
uint32_t *dft_in0 = (uint32_t*)dft_in128[0], *dft_out0 = (uint32_t*)dft_out128[0];
@@ -348,7 +348,7 @@ void nr_dft(int32_t *z, int32_t *d, uint32_t Msc_PUSCH)
#if defined(__x86_64__) || defined(__i386__)
__m128i norm128;
#elif defined(__arm__)
#elif defined(__arm__) || defined(__aarch64__)
int16x8_t norm128;
#endif
@@ -364,13 +364,13 @@ void nr_dft(int32_t *z, int32_t *d, uint32_t Msc_PUSCH)
#if defined(__x86_64__) || defined(__i386__)
norm128 = _mm_set1_epi16(9459);
#elif defined(__arm__)
#elif defined(__arm__) || defined(__aarch64__)
norm128 = vdupq_n_s16(9459);
#endif
for (i=0; i<12; i++) {
#if defined(__x86_64__) || defined(__i386__)
((__m128i*)dft_out0)[i] = _mm_slli_epi16(_mm_mulhi_epi16(((__m128i*)dft_out0)[i], norm128), 1);
#elif defined(__arm__)
#elif defined(__arm__) || defined(__aarch64__)
((int16x8_t*)dft_out0)[i] = vqdmulhq_s16(((int16x8_t*)dft_out0)[i], norm128);
#endif
}