fix / compile on ARM
This commit is contained in:
committed by
Robert Schmidt
parent
5c7c51089b
commit
73bc34b278
@@ -1268,9 +1268,9 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB,
|
|||||||
for (int group=0;group<ngroup;group++) {
|
for (int group=0;group<ngroup;group++) {
|
||||||
// each group has 8*nc_group_size elements, compute 1 complex correlation with DMRS per group
|
// each group has 8*nc_group_size elements, compute 1 complex correlation with DMRS per group
|
||||||
// non-coherent combining across groups
|
// non-coherent combining across groups
|
||||||
__m64 dmrs_re = byte2m64_re[sGold8[(group & 1) << 1]];
|
simde__m64 dmrs_re = byte2m64_re[sGold8[(group & 1) << 1]];
|
||||||
int16_t *dmrs_re16 = (int16_t *)&dmrs_re;
|
int16_t *dmrs_re16 = (int16_t *)&dmrs_re;
|
||||||
__m64 dmrs_im = byte2m64_im[sGold8[(group & 1) << 1]];
|
simde__m64 dmrs_im = byte2m64_im[sGold8[(group & 1) << 1]];
|
||||||
int16_t *dmrs_im16 = (int16_t *)&dmrs_im;
|
int16_t *dmrs_im16 = (int16_t *)&dmrs_im;
|
||||||
#ifdef DEBUG_NR_PUCCH_RX
|
#ifdef DEBUG_NR_PUCCH_RX
|
||||||
printf("Group %d: s %x x2 %x ((%d,%d),(%d,%d),(%d,%d),(%d,%d))\n",
|
printf("Group %d: s %x x2 %x ((%d,%d),(%d,%d),(%d,%d),(%d,%d))\n",
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ void rotate_cpx_vector(const c16_t *const x, const c16_t *const alpha, c16_t *y,
|
|||||||
// stores result in y
|
// stores result in y
|
||||||
// N is the number of complex numbers
|
// N is the number of complex numbers
|
||||||
// output_shift reduces the result of the multiplication by this number of bits
|
// output_shift reduces the result of the multiplication by this number of bits
|
||||||
|
#if defined(__x86_64__) || defined (__i386__)
|
||||||
if ( __builtin_cpu_supports("avx2")) {
|
if ( __builtin_cpu_supports("avx2")) {
|
||||||
// output is 32 bytes aligned, but not the input
|
// output is 32 bytes aligned, but not the input
|
||||||
|
|
||||||
@@ -137,6 +138,7 @@ void rotate_cpx_vector(const c16_t *const x, const c16_t *const alpha, c16_t *y,
|
|||||||
*yLast=c16mulShift(*xTail,*alpha16,output_shift);
|
*yLast=c16mulShift(*xTail,*alpha16,output_shift);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
// Multiply elementwise two complex vectors of N elements
|
// Multiply elementwise two complex vectors of N elements
|
||||||
// x - input 1 in the format |Re0 Im0 |,......,|Re(N-1) Im(N-1)|
|
// x - input 1 in the format |Re0 Im0 |,......,|Re(N-1) Im(N-1)|
|
||||||
// We assume x1 with a dynamic of 15 bit maximum
|
// We assume x1 with a dynamic of 15 bit maximum
|
||||||
@@ -184,7 +186,9 @@ void rotate_cpx_vector(const c16_t *const x, const c16_t *const alpha, c16_t *y,
|
|||||||
xd+=4;
|
xd+=4;
|
||||||
y_128+=1;
|
y_128+=1;
|
||||||
}
|
}
|
||||||
|
#if defined(__x86__) || defined(__x86_64__)
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
|
|||||||
Reference in New Issue
Block a user