about summary refs log tree commit diff
path: root/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
diff options
context:
space:
mode:
authorRaphael M Zinsly <rzinsly@linux.ibm.com>2020-11-12 13:12:24 -0300
committerTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>2020-11-12 13:12:24 -0300
commitb9d83bf3eb57e1cf8ef785f1a58e13ddf162b6f3 (patch)
tree35ea78f972edcca80ac72d25f2b20e9d4cdef9f6 /sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
parentb7aa84d5a5d0deaf7657191e0cd9d1d83d145dab (diff)
downloadglibc-b9d83bf3eb57e1cf8ef785f1a58e13ddf162b6f3.tar.gz
glibc-b9d83bf3eb57e1cf8ef785f1a58e13ddf162b6f3.tar.xz
glibc-b9d83bf3eb57e1cf8ef785f1a58e13ddf162b6f3.zip
powerpc: Add optimized strncpy for POWER9
Similar to the strcpy P9 optimization, this version uses VSX to improve
performance.

Reviewed-by: Matheus Castanho <msc@linux.ibm.com>
Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Diffstat (limited to 'sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c')
-rw-r--r--sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
index dd54e7d6bb..135326c97a 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
@@ -301,6 +301,12 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 
   /* Support sysdeps/powerpc/powerpc64/multiarch/strncpy.c.  */
   IFUNC_IMPL (i, name, strncpy,
+#ifdef __LITTLE_ENDIAN__
+	      IFUNC_IMPL_ADD (array, i, strncpy,
+			      (hwcap2 & PPC_FEATURE2_ARCH_3_00)
+			      && (hwcap & PPC_FEATURE_HAS_VSX),
+			      __strncpy_power9)
+#endif
 	      IFUNC_IMPL_ADD (array, i, strncpy,
 			      hwcap2 & PPC_FEATURE2_ARCH_2_07,
 			      __strncpy_power8)