walnux/libs/libc/machine/arm
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 libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
armv6-m libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
armv7-a libc/machine:Add prefixes to libc functions implemented by arch 2024-10-31 18:11:16 +08:00
armv7-m libc/machine:Add prefixes to libc functions implemented by arch 2024-10-31 18:11:16 +08:00
armv7-r libc/machine:Add prefixes to libc functions implemented by arch 2024-10-31 18:11:16 +08:00
armv8-m libc/machine:Add prefixes to libc functions implemented by arch 2024-10-31 18:11:16 +08:00
armv8-r armv8-r/libc: optimize libc string apis with asm 2024-11-26 10:22:12 +08:00
gnu setjmp: fix setjmp returns 0 when calling longjmp with 0 as the second argument 2024-10-15 12:36:19 +08:00
aeabi_atexit.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
arch_crc32.c libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
CMakeLists.txt libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
gnu_unwind_find_exidx.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
Kconfig libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
Make.defs libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00