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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
43b98124
Commit
43b98124
authored
Feb 04, 2025
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
error-simd-intrinsic-name
parent
0053a3d0
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
6 deletions
+6
-6
openair1/PHY/MODULATION/nr_modulation.c
openair1/PHY/MODULATION/nr_modulation.c
+2
-2
openair1/PHY/TOOLS/tools_defs.h
openair1/PHY/TOOLS/tools_defs.h
+4
-4
No files found.
openair1/PHY/MODULATION/nr_modulation.c
View file @
43b98124
...
...
@@ -517,7 +517,7 @@ void nr_layer_precoder_simd(const int n_layers,
prec_weight
.
r
=
pmi_pdu
->
weights
[
nl
][
ant
].
precoder_weight_Re
;
prec_weight
.
i
=
pmi_pdu
->
weights
[
nl
][
ant
].
precoder_weight_Im
;
const
simde__m256i
x
=
simde_mm256_loadu_
epi32
(
&
txdataF_res_mapped
[
nl
][
symbol
][
sc
]);
const
simde__m256i
x
=
simde_mm256_loadu_
si256
(
&
txdataF_res_mapped
[
nl
][
symbol
][
sc
]);
// Rearrange precoding matrix weight to match complex multiplication and broadcast it to match SIMD size
const
simde__m256i
w_c
=
simde_mm256_set1_epi32
(
c16toI32
(
c16conj
(
prec_weight
)));
// broadcast conjugate of w
...
...
@@ -561,7 +561,7 @@ void nr_layer_precoder_simd(const int n_layers,
prec_weight
.
r
=
pmi_pdu
->
weights
[
nl
][
ant
].
precoder_weight_Re
;
prec_weight
.
i
=
pmi_pdu
->
weights
[
nl
][
ant
].
precoder_weight_Im
;
const
simde__m128i
x
=
simde_mm_loadu_
epi32
(
&
txdataF_res_mapped
[
nl
][
symbol
][
sc
]);
const
simde__m128i
x
=
simde_mm_loadu_
si128
(
&
txdataF_res_mapped
[
nl
][
symbol
][
sc
]);
// Rearrange precoding matrix weight to match complex multiplication and broadcast it to match SIMD size
const
simde__m128i
w_c
=
simde_mm_set1_epi32
(
c16toI32
(
c16conj
(
prec_weight
)));
// broadcast conjugate of w
...
...
openair1/PHY/TOOLS/tools_defs.h
View file @
43b98124
...
...
@@ -401,8 +401,8 @@ static __attribute__((always_inline)) inline void mult_complex_vectors(const c16
int
i
;
// do 8 multiplications at a time
for
(
i
=
0
;
i
<
size
-
7
;
i
+=
8
)
{
const
simde__m256i
i1
=
simde_mm256_loadu_
epi32
((
simde__m256i
*
)(
in1
+
i
));
const
simde__m256i
i2
=
simde_mm256_loadu_
epi32
((
simde__m256i
*
)(
in2
+
i
));
const
simde__m256i
i1
=
simde_mm256_loadu_
si256
((
simde__m256i
*
)(
in1
+
i
));
const
simde__m256i
i2
=
simde_mm256_loadu_
si256
((
simde__m256i
*
)(
in2
+
i
));
const
simde__m256i
i2swap
=
simde_mm256_shuffle_epi8
(
i2
,
complex_shuffle256
);
const
simde__m256i
i2conj
=
simde_mm256_sign_epi16
(
i2
,
conj256
);
const
simde__m256i
re
=
simde_mm256_madd_epi16
(
i1
,
i2conj
);
...
...
@@ -412,8 +412,8 @@ static __attribute__((always_inline)) inline void mult_complex_vectors(const c16
simde_mm256_blend_epi16
(
simde_mm256_srai_epi32
(
re
,
shift
),
simde_mm256_slli_epi32
(
im
,
16
-
shift
),
0xAA
));
}
if
(
size
-
i
>
4
)
{
const
simde__m128i
i1
=
simde_mm_loadu_
epi32
((
simde__m128i
*
)(
in1
+
i
));
const
simde__m128i
i2
=
simde_mm_loadu_
epi32
((
simde__m128i
*
)(
in2
+
i
));
const
simde__m128i
i1
=
simde_mm_loadu_
si128
((
simde__m128i
*
)(
in1
+
i
));
const
simde__m128i
i2
=
simde_mm_loadu_
si128
((
simde__m128i
*
)(
in2
+
i
));
const
simde__m128i
i2swap
=
simde_mm_shuffle_epi8
(
i2
,
*
(
simde__m128i
*
)
&
complex_shuffle256
);
const
simde__m128i
i2conj
=
simde_mm_sign_epi16
(
i2
,
*
(
simde__m128i
*
)
&
conj256
);
const
simde__m128i
re
=
simde_mm_madd_epi16
(
i1
,
i2conj
);
...
...
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