--- v5
+++ v8
@@ -14,6 +14,20 @@
performance for POWER8). Thanks Cyril Bur's information.
This patch set also updates memcmp selftest case to make it compiled and
incorporate large size comparison case.
+
+v7 -> v8:
+- define memcmp with _GLOBAL_TOC() instead of _GLOBAL() to fix TOC issue.
+add _GLOBAL_TOC() definition into selftest so that it can be compiled.
+- use mfocrf/mtocrf instead of mcrf to save/restore CR0
+
+v6 -> v7:
+- add vcmpequd/vcmpequdb .long macro
+- add CPU_FTR pair so that Power7 won't invoke Altivec instrs.
+- rework some instructions for higher performance or more readable.
+
+v5 -> v6:
+- correct some comments/commit messsage.
+- rename VMX_OPS_THRES to VMX_THRESH
v4 -> v5:
- Expand 32 bytes prechk to src/dst different offset case, and remove
@@ -37,9 +51,11 @@
- enhanced the original memcmp() selftest.
- add powerpc/64 to subject/commit message.
-Simon Guo (4):
+
+Simon Guo (5):
powerpc/64: Align bytes before fall back to .Lshort in powerpc64
memcmp()
+ powerpc: add vcmpequd/vcmpequb ppc instruction macro
powerpc/64: enhance memcmp() with VMX instruction for long bytes
comparision
powerpc/64: add 32 bytes prechecking before using VMX optimization on
@@ -47,14 +63,17 @@
powerpc:selftest update memcmp_64 selftest for VMX implementation
arch/powerpc/include/asm/asm-prototypes.h | 4 +-
+ arch/powerpc/include/asm/ppc-opcode.h | 11 +
arch/powerpc/lib/copypage_power7.S | 4 +-
- arch/powerpc/lib/memcmp_64.S | 408 ++++++++++++++++++++-
+ arch/powerpc/lib/memcmp_64.S | 414 ++++++++++++++++++++-
arch/powerpc/lib/memcpy_power7.S | 6 +-
arch/powerpc/lib/vmx-helper.c | 4 +-
.../selftests/powerpc/copyloops/asm/ppc_asm.h | 4 +-
- .../selftests/powerpc/stringloops/asm/ppc_asm.h | 22 ++
+ .../selftests/powerpc/stringloops/asm/ppc-opcode.h | 39 ++
+ .../selftests/powerpc/stringloops/asm/ppc_asm.h | 25 ++
.../testing/selftests/powerpc/stringloops/memcmp.c | 98 +++--
- 8 files changed, 510 insertions(+), 40 deletions(-)
+ 10 files changed, 568 insertions(+), 41 deletions(-)
+ create mode 100644 tools/testing/selftests/powerpc/stringloops/asm/ppc-opcode.h
--
1.8.3.1