Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zzha zzha
OpenXG-RAN
Commits
73bc34b2
Commit
73bc34b2
authored
Aug 01, 2023
by
Tsung-Yu Chan
Committed by
Robert Schmidt
Sep 13, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix / compile on ARM
parent
5c7c5108
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
2 deletions
+6
-2
openair1/PHY/NR_TRANSPORT/pucch_rx.c
openair1/PHY/NR_TRANSPORT/pucch_rx.c
+2
-2
openair1/PHY/TOOLS/cmult_sv.c
openair1/PHY/TOOLS/cmult_sv.c
+4
-0
No files found.
openair1/PHY/NR_TRANSPORT/pucch_rx.c
View file @
73bc34b2
...
...
@@ -1268,9 +1268,9 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB,
for
(
int
group
=
0
;
group
<
ngroup
;
group
++
)
{
// each group has 8*nc_group_size elements, compute 1 complex correlation with DMRS per group
// 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
;
__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
;
#ifdef DEBUG_NR_PUCCH_RX
printf
(
"Group %d: s %x x2 %x ((%d,%d),(%d,%d),(%d,%d),(%d,%d))
\n
"
,
...
...
openair1/PHY/TOOLS/cmult_sv.c
View file @
73bc34b2
...
...
@@ -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
// N is the number of complex numbers
// output_shift reduces the result of the multiplication by this number of bits
#if defined(__x86_64__) || defined (__i386__)
if
(
__builtin_cpu_supports
(
"avx2"
))
{
// 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
);
}
}
else
{
#endif
// Multiply elementwise two complex vectors of N elements
// x - input 1 in the format |Re0 Im0 |,......,|Re(N-1) Im(N-1)|
// 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
;
y_128
+=
1
;
}
#if defined(__x86__) || defined(__x86_64__)
}
#endif
}
#ifdef MAIN
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment