walnux/libs/libc/machine
Jinliang Li d5db7d1cee libc/arm: optimize crc32/crc32c for arm
Optimize crc32 standard(poly:0x04C11DB7) and crc32
castagnoli(poly:0x1EDC6F41) with arm crc32 extension instructions.

For example, crc32 standard caculates(lookup crc32 table) 1812 bytes data,
reduced the time from 118 us to 14 us through optimization.

Performance improved ~700%

Signed-off-by: Jinliang Li <lijinliang1@lixiang.com>
2025-04-04 09:51:50 -03:00
..
arm libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
arm64 Remove FAR from 32/64bit arch 2024-12-05 22:55:39 +08:00
renesas libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
risc-v arch/riscv: use UP_DSB, UP_DMB, UP_ISB as barrier standard API 2025-01-20 20:13:07 +08:00
sim Remove FAR from 32/64bit arch 2024-12-05 22:55:39 +08:00
sparc libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
tricore libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
x86 libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
x86_64 [nxstyle] fix Relative files path 2025-02-21 15:36:05 +01:00
xtensa xtensa: change write intset register to syscall instruction 2024-12-27 00:25:55 +08:00
arch_atomic.c sched/spin_lock: rename raw_spin_lock to spin_lock_notrace 2025-02-13 20:48:15 +08:00
arch_libc.c kasan/kconfig: Add config CONFIG_MM_KASAN_INSTRUMENT 2025-01-14 14:01:48 +08:00
CMakeLists.txt libc/machine/CMakeLists: should alaways build arch_atomic.c 2024-11-03 02:33:03 +08:00
Kconfig arch_atomic : Introduce CONFIG_LIBC_ARCH_ATOMIC 2024-11-15 14:01:56 +08:00
Make.defs libc/machine:Add prefixes to libc functions implemented by arch 2024-10-31 18:11:16 +08:00