[PW_SID:1098014] riscv: lib: add optimized memcmp() and extend KUnit tests#1982
[PW_SID:1098014] riscv: lib: add optimized memcmp() and extend KUnit tests#1982linux-riscv-bot wants to merge 3 commits into
Conversation
Add an assembly implementation of memcmp() for RISC-V. The implementation uses word-aligned loads for the generic path and the ZBB extension for optimized sign resolution, with an assembly fallback for non-ZBB systems. Benchmark results (QEMU TCG, rv64): Len | Default |NoALIGN | ALIGN | %NoALIGN | %ALIGN ------|---------|--------|--------|----------|-------- 1 B | 20.3 | 21.5 | 20.9 | +5.9% | +3.0% 7 B | 88.9 | 96.9 | 155.7 | +9.0% | +75.1% 8 B | 89.6 | 110.5 | 176.2 | +23.3% | +96.7% 16 B | 134.4 | 172.8 | 334.8 | +28.6% | +149.1% 31 B | 163.5 | 211.9 | 606.2 | +29.6% | +270.8% 64 B | 203.8 | 240.3 | 968.6 | +17.9% | +375.3% 127 B | 224.6 | 269.0 | 1362.8 | +19.8% | +506.8% 512 B | 235.7 | 269.9 | 1913.7 | +14.5% | +711.9% 1024 B| 256.8 | 283.5 | 2123.6 | +10.4% | +726.9% 4096 B| 263.8 | 299.7 | 2290.4 | +13.6% | +768.2% Signed-off-by: Milan Tripkovic <Milan.Tripkovic@rt-rk.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Extend the string benchmarking suite to include memcmp(). Extend the string unit test to include memcmp(). Signed-off-by: Milan Tripkovic <Milan.Tripkovic@rt-rk.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[v6,1/2] riscv: lib: add memcmp() implementation" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[v6,2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
cd9d421 to
a1231b7
Compare
PR for series 1098014 applied to workflow__riscv__fixes
Name: riscv: lib: add optimized memcmp() and extend KUnit tests
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1098014
Version: 6