This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.27.9000-408-ge28e9b1


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  e28e9b1ec40d5b545d980b0a36cbe41f3d1dbf6a (commit)
      from  1af30adcd59fae929371d3a56b239861b1088a6e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=e28e9b1ec40d5b545d980b0a36cbe41f3d1dbf6a

commit e28e9b1ec40d5b545d980b0a36cbe41f3d1dbf6a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 21 16:54:46 2018 -0700

    x86-64: Check Prefer_FSRM in ifunc-memmove.h
    
    Although the REP MOVSB implementations of memmove, memcpy and mempcpy
    aren't used by the current processors, this patch adds Prefer_FSRM
    check in ifunc-memmove.h so that they can be used in the future.
    
    	* sysdeps/x86/cpu-features.h (bit_arch_Prefer_FSRM): New.
    	(index_arch_Prefer_FSRM): Likewise.
    	* sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
    	Also check Prefer_FSRM.
    	* sysdeps/x86_64/multiarch/ifunc-memmove.h (IFUNC_SELECTOR):
    	Also return OPTIMIZE (erms) for Prefer_FSRM.

diff --git a/ChangeLog b/ChangeLog
index c8ff9d4..ee8f745 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2018-05-21  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/x86/cpu-features.h (bit_arch_Prefer_FSRM): New.
+	(index_arch_Prefer_FSRM): Likewise.
+	* sysdeps/x86/cpu-tunables.c (TUNABLE_CALLBACK (set_hwcaps)):
+	Also check Prefer_FSRM.
+	* sysdeps/x86_64/multiarch/ifunc-memmove.h (IFUNC_SELECTOR):
+	Also return OPTIMIZE (erms) for Prefer_FSRM.
+
+2018-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/x86/cpu-features.h (bit_cpu_FSRM): New.
 	(index_cpu_FSRM): Likewise.
 	(reg_FSRM): Likewise.
diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h
index 2088bd7..624e681 100644
--- a/sysdeps/x86/cpu-features.h
+++ b/sysdeps/x86/cpu-features.h
@@ -40,6 +40,7 @@
 #define bit_arch_Prefer_No_AVX512		(1 << 20)
 #define bit_arch_MathVec_Prefer_No_AVX512	(1 << 21)
 #define bit_arch_XSAVEC_Usable			(1 << 22)
+#define bit_arch_Prefer_FSRM			(1 << 23)
 
 /* CPUID Feature flags.  */
 
@@ -264,6 +265,7 @@ extern const struct cpu_features *__get_cpu_features (void)
 # define index_arch_Prefer_No_AVX512	FEATURE_INDEX_1
 # define index_arch_MathVec_Prefer_No_AVX512 FEATURE_INDEX_1
 # define index_arch_XSAVEC_Usable	FEATURE_INDEX_1
+# define index_arch_Prefer_FSRM		FEATURE_INDEX_1
 
 #endif	/* !__ASSEMBLER__ */
 
diff --git a/sysdeps/x86/cpu-tunables.c b/sysdeps/x86/cpu-tunables.c
index a21a615..af761dc 100644
--- a/sysdeps/x86/cpu-tunables.c
+++ b/sysdeps/x86/cpu-tunables.c
@@ -241,6 +241,8 @@ TUNABLE_CALLBACK (set_hwcaps) (tunable_val_t *valp)
 	  CHECK_GLIBC_IFUNC_ARCH_NEED_CPU_BOTH (n, cpu_features,
 						Slow_SSE4_2, SSE4_2,
 						disable, 11);
+	  CHECK_GLIBC_IFUNC_ARCH_BOTH (n, cpu_features, Prefer_FSRM,
+				       disable, 11);
 	  break;
 	case 13:
 	  if (disable)
diff --git a/sysdeps/x86_64/multiarch/ifunc-memmove.h b/sysdeps/x86_64/multiarch/ifunc-memmove.h
index a2ffba0..5b1eb1c 100644
--- a/sysdeps/x86_64/multiarch/ifunc-memmove.h
+++ b/sysdeps/x86_64/multiarch/ifunc-memmove.h
@@ -41,7 +41,8 @@ IFUNC_SELECTOR (void)
 {
   const struct cpu_features* cpu_features = __get_cpu_features ();
 
-  if (CPU_FEATURES_ARCH_P (cpu_features, Prefer_ERMS))
+  if (CPU_FEATURES_ARCH_P (cpu_features, Prefer_ERMS)
+      || CPU_FEATURES_ARCH_P (cpu_features, Prefer_FSRM))
     return OPTIMIZE (erms);
 
   if (CPU_FEATURES_ARCH_P (cpu_features, AVX512F_Usable)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                |    9 +++++++++
 sysdeps/x86/cpu-features.h               |    2 ++
 sysdeps/x86/cpu-tunables.c               |    2 ++
 sysdeps/x86_64/multiarch/ifunc-memmove.h |    3 ++-
 4 files changed, 15 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]