Add Intrinsics usage by SIMDE
This commit is contained in:
committed by
Robert Schmidt
parent
a1de5e3d11
commit
fe1dc24e28
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user