First-level of support for new aarch64 machines
Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators. - Changes: - use SIMDE consistently - adaptations of LDPC decoder generator for ARMv8 performance - SIMDe modifications of Intel CRC to allow for aarch64 build. optimizations for 128-bit to improve performance of LDPC encode/decode on aarch64 (Neoverse 1) - added BG2 files for 128-bit ldpc encoder (aarch64) - testing on Xeon - testing on x86 - minor changes to build/run on x86 - change in crc.h after returning to aarch64 - removed some warning in ldpc decoder generator for x86_64 - char - Delete irrelevant constants - Correctly declare variables - Define stdbool for all architectures - Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE - Remove commented code - Fix CMakeLists.txt - Include SIMDE avx2 functions in tools_defs.h
This commit is contained in:
committed by
Robert Schmidt
parent
79fd37b489
commit
a7bc282302
@@ -1,9 +1,10 @@
|
||||
#ifdef __AVX2__
|
||||
#include "PHY/sse_intrin.h"
|
||||
// generated code for Zc=384, byte encoding
|
||||
static inline void ldpc384_byte(uint8_t *c,uint8_t *d) {
|
||||
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
|
||||
simde__m256i *csimd=(simde__m256i *)c,*dsimd=(simde__m256i *)d;
|
||||
|
||||
__m256i *c2,*d2;
|
||||
simde__m256i *c2,*d2;
|
||||
|
||||
int i2;
|
||||
for (i2=0; i2<12; i2++) {
|
||||
@@ -149,3 +150,4 @@ static inline void ldpc384_byte(uint8_t *c,uint8_t *d) {
|
||||
d2[540]=simde_mm256_xor_si256(c2[3724],simde_mm256_xor_si256(c2[11236],c2[8160]));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user