f03852
commit 63dd214dce603f4f99e2cb272255b6c2b4308c3d
f03852
Author: Cui,Lili <lili.cui@intel.com>
f03852
Date:   Mon Nov 7 11:25:41 2022 +0800
f03852
f03852
    Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
f03852
    
f03852
    gcc/ChangeLog:
f03852
    
f03852
            * config/i386/driver-i386.cc (host_detect_local_cpu):
f03852
            Move sapphirerapids out of AVX512_VP2INTERSECT.
f03852
            * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
f03852
            * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
f03852
    
f03852
    (cherry picked from commit d644dfe36d9733c767af62d37250253ced6efd8c)
f03852
f03852
diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c
f03852
index f844a168ddb..90f84aba4ee 100644
f03852
--- a/gcc/config/i386/driver-i386.c
f03852
+++ b/gcc/config/i386/driver-i386.c
f03852
@@ -574,15 +574,12 @@ const char *host_detect_local_cpu (int argc, const char **argv)
f03852
 	      /* This is unknown family 0x6 CPU.  */
f03852
 	      if (has_feature (FEATURE_AVX))
f03852
 		{
f03852
+		  /* Assume Tiger Lake */
f03852
 		  if (has_feature (FEATURE_AVX512VP2INTERSECT))
f03852
-		    {
f03852
-		      if (has_feature (FEATURE_TSXLDTRK))
f03852
-			/* Assume Sapphire Rapids.  */
f03852
-			cpu = "sapphirerapids";
f03852
-		      else
f03852
-			/* Assume Tiger Lake */
f03852
-			cpu = "tigerlake";
f03852
-		    }
f03852
+		    cpu = "tigerlake";
f03852
+		  /* Assume Sapphire Rapids.  */
f03852
+		  else if (has_feature (FEATURE_TSXLDTRK))
f03852
+		    cpu = "sapphirerapids";
f03852
 		  /* Assume Cooper Lake */
f03852
 		  else if (has_feature (FEATURE_AVX512BF16))
f03852
 		    cpu = "cooperlake";
f03852
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
f03852
index ac0e5da623c..e03279bcf39 100644
f03852
--- a/gcc/config/i386/i386.h
f03852
+++ b/gcc/config/i386/i386.h
f03852
@@ -2562,7 +2562,7 @@ constexpr wide_int_bitmask PTA_ICELAKE_SERVER = PTA_ICELAKE_CLIENT
f03852
 constexpr wide_int_bitmask PTA_TIGERLAKE = PTA_ICELAKE_CLIENT | PTA_MOVDIRI
f03852
   | PTA_MOVDIR64B | PTA_CLWB | PTA_AVX512VP2INTERSECT | PTA_KL | PTA_WIDEKL;
f03852
 constexpr wide_int_bitmask PTA_SAPPHIRERAPIDS = PTA_ICELAKE_SERVER | PTA_MOVDIRI
f03852
-  | PTA_MOVDIR64B | PTA_AVX512VP2INTERSECT | PTA_ENQCMD | PTA_CLDEMOTE
f03852
+  | PTA_MOVDIR64B | PTA_ENQCMD | PTA_CLDEMOTE
f03852
   | PTA_PTWRITE | PTA_WAITPKG | PTA_SERIALIZE | PTA_TSXLDTRK | PTA_AMX_TILE
f03852
   | PTA_AMX_INT8 | PTA_AMX_BF16 | PTA_UINTR | PTA_AVXVNNI | PTA_AVX512BF16;
f03852
 constexpr wide_int_bitmask PTA_KNL = PTA_BROADWELL | PTA_AVX512PF
f03852
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
f03852
index 3419483c532..6b3afb827a5 100644
f03852
--- a/gcc/doc/invoke.texi
f03852
+++ b/gcc/doc/invoke.texi
f03852
@@ -30236,9 +30236,9 @@ Intel sapphirerapids CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3,
f03852
 SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE,
f03852
 RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW,
f03852
 AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
f03852
-AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2
f03852
+AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2,
f03852
 VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB,
f03852
-MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG,
f03852
+MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG,
f03852
 SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI and
f03852
 AVX512BF16 instruction set support.
f03852