[PW_SID:1093584] [1/2] riscv: lib: add memcmp() implementation#1917
[PW_SID:1093584] [1/2] riscv: lib: add memcmp() implementation#1917linux-riscv-bot wants to merge 3 commits into
Conversation
Add an assembly implementation of memcmp() for RISC-V. The implementation uses the ZBB extension for word-at-a-time comparison and an assembly fallback for non-ZBB systems. Benchmark results (QEMU TCG, rv64): Len | Def | NoZBB | ZBB | %NoZBB | %ZBB -----|-------|-------|-------|--------|------- 1 B | 22.4 | 24.6 | 23.2 | +9.8% | +3.5% 7 B | 96.9 | 108.5 | 107.3 | +12.0% | +10.7% 8 B | 107.0 | 116.3 | 176.7 | +8.7% | +65.1% 16 B | 148.4 | 172.8 | 315.6 | +16.4% | +112.6% 31 B | 182.2 | 217.1 | 377.6 | +19.2% | +107.2% 64 B | 220.6 | 239.4 | 874.2 | +8.5% | +296.2% 127 B| 213.7 | 254.8 | 1042.9| +19.2% | +388.0% 512 B| 255.1 | 269.0 | 1778.6| +5.4% | +597.2% 1024B| 252.3 | 280.9 | 1887.7| +11.3% | +648.1% 3173B| 241.3 | 288.7 | 2063.2| +19.6% | +755.0% 4096B| 240.9 | 280.5 | 2064.5| +16.4% | +756.9% 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: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 1: "[1/2] riscv: lib: add memcmp() implementation" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
|
Patch 2: "[2/2] lib/string_kunit: extend benchmarks and unit test to memcmp()" |
2d4fcdd to
cd9d421
Compare
PR for series 1093584 applied to workflow__riscv__fixes
Name: [1/2] riscv: lib: add memcmp() implementation
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1093584
Version: 1