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
littleBu
OpenXG-RAN
Commits
b9991778
Commit
b9991778
authored
3 months ago
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove MMX instruction usage in polar decode
parent
ef3b99a2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
10 additions
and
9 deletions
+10
-9
openair1/PHY/CODING/3gpplte_sse.c
openair1/PHY/CODING/3gpplte_sse.c
+9
-8
openair1/PHY/CODING/nrPolar_tools/nr_polar_decoding_tools.c
openair1/PHY/CODING/nrPolar_tools/nr_polar_decoding_tools.c
+1
-0
radio/rfsimulator/stored_node.c
radio/rfsimulator/stored_node.c
+0
-1
No files found.
openair1/PHY/CODING/3gpplte_sse.c
View file @
b9991778
...
...
@@ -47,8 +47,8 @@
//#define CALLGRIND 1
struct
treillis
{
uint8_t
systematic_andp1
[
24
];
uint8_t
parity2
[
24
];
uint8_t
systematic_andp1
[
24
]
__attribute__
((
aligned
(
32
)))
;
uint8_t
parity2
[
24
]
__attribute__
((
aligned
(
32
)))
;
int
exit_state
;
}
__attribute__
((
aligned
(
64
)));
...
...
@@ -292,16 +292,17 @@ void threegpplte_turbo_encoder_sse(unsigned char *input, unsigned short input_le
unsigned
char
systematic2
[
768
]
__attribute__
((
aligned
(
32
)));
interleave_compact_byte
(
base_interleaver
,
input
,
systematic2
,
input_length_bytes
);
unsigned
char
*
ptr_output
=
output
;
unsigned
char
cur_s1
,
cur_s2
;
unsigned
char
state0
=
0
,
state1
=
0
;
for
(
int
i
=
0
;
i
<
input_length_bytes
;
i
++
)
{
cur_s1
=
input
[
i
];
cur_s2
=
systematic2
[
i
];
*
(
simde__m128i
*
)
ptr_output
=
simde_mm_add_epi8
(
*
(
simde__m128i
*
)
all_treillis
[
state0
][
cur_s1
].
systematic_andp1
,
*
(
simde__m128i
*
)
all_treillis
[
state1
][
cur_s2
].
parity2
);
int
cur_s1
=
input
[
i
];
uint8_t
*
systematic_andp1
=
all_treillis
[
state0
][
cur_s1
].
systematic_andp1
;
int
cur_s2
=
systematic2
[
i
];
uint8_t
*
parity2
=
all_treillis
[
state1
][
cur_s2
].
parity2
;
simde_mm_storeu_si128
((
simde__m128i
*
)
ptr_output
,
simde_mm_add_epi8
(
*
(
simde__m128i
*
)
systematic_andp1
,
*
(
simde__m128i
*
)
parity2
));
ptr_output
+=
16
;
for
(
int
code_rate
=
16
;
code_rate
<
24
;
code_rate
++
)
{
*
ptr_output
++
=
all_treillis
[
state0
][
cur_s1
].
systematic_andp1
[
code_rate
]
+
all_treillis
[
state1
][
cur_s2
].
parity2
[
code_rate
];
*
ptr_output
++
=
systematic_andp1
[
code_rate
]
+
parity2
[
code_rate
];
}
state0
=
all_treillis
[
state0
][
cur_s1
].
exit_state
;
state1
=
all_treillis
[
state1
][
cur_s2
].
exit_state
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/CODING/nrPolar_tools/nr_polar_decoding_tools.c
View file @
b9991778
...
...
@@ -252,6 +252,7 @@ static inline void applyFtoleft(const t_nrPolar_params *pp, decoder_node_t *node
simde__m128i
minabs128
=
simde_mm_min_epi16
(
absa128
,
absb128
);
*
((
simde__m128i
*
)
alpha_l
)
=
simde_mm_sign_epi16
(
minabs128
,
simde_mm_sign_epi16
(
a128
,
b128
));
}
else
if
(
avx2mod
==
4
)
{
// this uses __m64, but only with SSE instructions, so we can disable MMX even with this piece of code
simde__m64
a64
=
*
((
simde__m64
*
)
alpha_v
);
simde__m64
b64
=
((
simde__m64
*
)
alpha_v
)[
1
];
simde__m64
absa64
=
simde_mm_abs_pi16
(
a64
);
...
...
This diff is collapsed.
Click to expand it.
radio/rfsimulator/stored_node.c
View file @
b9991778
...
...
@@ -44,7 +44,6 @@ int fullread(int fd, void *_buf, int count) {
return
ret
;
}
#define shift 4
void
fullwrite
(
int
fd
,
void
*
_buf
,
int
count
)
{
char
*
buf
=
_buf
;
...
...
This diff is collapsed.
Click to expand it.
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