GNU C Library master sources branch master updated. glibc-2.23-428-g91655fc

hjl@sourceware.org hjl@sourceware.org
Tue Jun 7 15:31:00 GMT 2016


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  91655fc307fec2d5a8d60446b4de11cc986b47fa (commit)
      from  c9bd40daaee18cf1d9824e4a7ebaebe321e0a5a8 (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=91655fc307fec2d5a8d60446b4de11cc986b47fa

commit 91655fc307fec2d5a8d60446b4de11cc986b47fa
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 7 08:00:21 2016 -0700

    Check FMA after COMMON_CPUID_INDEX_80000001
    
    Since the FMA4 bit is in COMMON_CPUID_INDEX_80000001 and FMA4 requires
    AVX, determine if FMA4 is usable after COMMON_CPUID_INDEX_80000001 is
    available and if AVX is usable.
    
    	[BZ #20195]
    	* sysdeps/x86/cpu-features.c (get_common_indeces): Move FMA4
    	check to ...
    	(init_cpu_features): Here.

diff --git a/ChangeLog b/ChangeLog
index f006508..5688d20 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-06-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #20195]
+	* sysdeps/x86/cpu-features.c (get_common_indeces): Move FMA4
+	check to ...
+	(init_cpu_features): Here.
+
 2016-06-07  Carlos O'Donell  <carlos@redhat.com>
 
 	[BZ #20214]
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
index a5fa81f..9ce4b49 100644
--- a/sysdeps/x86/cpu-features.c
+++ b/sysdeps/x86/cpu-features.c
@@ -87,10 +87,6 @@ get_common_indeces (struct cpu_features *cpu_features,
 	  if (CPU_FEATURES_CPU_P (cpu_features, FMA))
 	    cpu_features->feature[index_arch_FMA_Usable]
 	      |= bit_arch_FMA_Usable;
-	  /* Determine if FMA4 is usable.  */
-	  if (CPU_FEATURES_CPU_P (cpu_features, FMA4))
-	    cpu_features->feature[index_arch_FMA4_Usable]
-	      |= bit_arch_FMA4_Usable;
 	}
     }
 }
@@ -230,6 +226,15 @@ init_cpu_features (struct cpu_features *cpu_features)
 		 cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].ecx,
 		 cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].edx);
 
+      if (HAS_ARCH_FEATURE (AVX_Usable))
+	{
+	  /* Since the FMA4 bit is in COMMON_CPUID_INDEX_80000001 and
+	     FMA4 requires AVX, determine if FMA4 is usable here.  */
+	  if (CPU_FEATURES_CPU_P (cpu_features, FMA4))
+	    cpu_features->feature[index_arch_FMA4_Usable]
+	      |= bit_arch_FMA4_Usable;
+	}
+
       if (family == 0x15)
 	{
 #if index_arch_Fast_Unaligned_Load != index_arch_Fast_Copy_Backward

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

Summary of changes:
 ChangeLog                  |    7 +++++++
 sysdeps/x86/cpu-features.c |   13 +++++++++----
 2 files changed, 16 insertions(+), 4 deletions(-)


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



More information about the Glibc-cvs mailing list