Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
openairinterface5G
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Patricio Latini
openairinterface5G
Commits
73bc34b2
Commit
73bc34b2
authored
1 year ago
by
Tsung Yu Chan
Committed by
Robert Schmidt
1 year ago
Browse files
Options
Downloads
Patches
Plain Diff
fix / compile on ARM
parent
5c7c5108
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
openair1/PHY/NR_TRANSPORT/pucch_rx.c
+2
-2
2 additions, 2 deletions
openair1/PHY/NR_TRANSPORT/pucch_rx.c
openair1/PHY/TOOLS/cmult_sv.c
+4
-0
4 additions, 0 deletions
openair1/PHY/TOOLS/cmult_sv.c
with
6 additions
and
2 deletions
openair1/PHY/NR_TRANSPORT/pucch_rx.c
+
2
−
2
View file @
73bc34b2
...
@@ -1268,9 +1268,9 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB,
...
@@ -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
"
,
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/TOOLS/cmult_sv.c
+
4
−
0
View file @
73bc34b2
...
@@ -80,6 +80,7 @@ void rotate_cpx_vector(const c16_t *const x, const c16_t *const alpha, c16_t *y,
...
@@ -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,
...
@@ -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,
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment