public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/tuliom/microwatt] powerpc64: Restrict memset implementation that require fixed cache line size
@ 2021-02-17 16:45 Tulio Magno Quites Machado Filho
  0 siblings, 0 replies; only message in thread
From: Tulio Magno Quites Machado Filho @ 2021-02-17 16:45 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b50bbee77534c25c341c38702866b2cdf35f3494

commit b50bbee77534c25c341c38702866b2cdf35f3494
Author: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Date:   Thu Oct 1 21:08:33 2020 -0300

    powerpc64: Restrict memset implementation that require fixed cache line size

Diff:
---
 sysdeps/powerpc/powerpc64/multiarch/bzero.c  | 21 ++++++++++++---------
 sysdeps/powerpc/powerpc64/multiarch/memset.c | 22 +++++++++++++---------
 2 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/sysdeps/powerpc/powerpc64/multiarch/bzero.c b/sysdeps/powerpc/powerpc64/multiarch/bzero.c
index c3f819ff48..305b01537f 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/bzero.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/bzero.c
@@ -29,15 +29,18 @@ extern __typeof (bzero) __bzero_power7 attribute_hidden;
 extern __typeof (bzero) __bzero_power8 attribute_hidden;
 
 libc_ifunc (__bzero,
-            (hwcap2 & PPC_FEATURE2_ARCH_2_07)
-            ? __bzero_power8 :
-	      (hwcap & PPC_FEATURE_HAS_VSX)
-	      ? __bzero_power7 :
-		(hwcap & PPC_FEATURE_ARCH_2_05)
-		? __bzero_power6 :
-		  (hwcap & PPC_FEATURE_POWER4)
-		  ? __bzero_power4
-            : __bzero_ppc);
+	    (hwcap2 & PPC_FEATURE2_ARCH_2_07
+	     && __GLRO(dl_cache_line_size) == 0x80)
+	    ? __bzero_power8 :
+	    (hwcap & PPC_FEATURE_HAS_VSX
+	     && __GLRO(dl_cache_line_size) == 0x80)
+	    ? __bzero_power7 :
+	    (hwcap & PPC_FEATURE_ARCH_2_05
+	     && __GLRO(dl_cache_line_size) == 0x80)
+	    ? __bzero_power6 :
+	    (hwcap & PPC_FEATURE_POWER4 && __GLRO(dl_cache_line_size) == 0x80)
+	    ? __bzero_power4
+	    : __bzero_ppc);
 
 weak_alias (__bzero, bzero)
 #endif
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memset.c b/sysdeps/powerpc/powerpc64/multiarch/memset.c
index d483f66f27..dbc737b5d5 100644
--- a/sysdeps/powerpc/powerpc64/multiarch/memset.c
+++ b/sysdeps/powerpc/powerpc64/multiarch/memset.c
@@ -37,15 +37,19 @@ extern __typeof (__redirect_memset) __memset_power8 attribute_hidden;
 /* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle
    ifunc symbol properly.  */
 libc_ifunc (__libc_memset,
-            (hwcap2 & PPC_FEATURE2_ARCH_2_07)
-            ? __memset_power8 :
-	      (hwcap & PPC_FEATURE_HAS_VSX)
-	      ? __memset_power7 :
-		(hwcap & PPC_FEATURE_ARCH_2_05)
-		? __memset_power6 :
-		  (hwcap & PPC_FEATURE_POWER4)
-		  ? __memset_power4
-            : __memset_ppc);
+	    (hwcap2 & PPC_FEATURE2_ARCH_2_07
+	     && __GLRO(dl_cache_line_size) == 0x80)
+	    ? __memset_power8 :
+	    (hwcap & PPC_FEATURE_HAS_VSX
+	     && __GLRO(dl_cache_line_size) == 0x80)
+	    ? __memset_power7 :
+	    (hwcap & PPC_FEATURE_ARCH_2_05
+	     && __GLRO(dl_cache_line_size) == 0x80)
+	    ? __memset_power6 :
+	    (hwcap & PPC_FEATURE_POWER4
+	     && __GLRO(dl_cache_line_size) == 0x80)
+	    ? __memset_power4
+	    : __memset_ppc);
 
 #undef memset
 strong_alias (__libc_memset, memset);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-02-17 16:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-17 16:45 [glibc/tuliom/microwatt] powerpc64: Restrict memset implementation that require fixed cache line size Tulio Magno Quites Machado Filho

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).