x86-tune.def (X86_TUNE_PARTIAL_REG_DEPENDENCY, [...]): Disable for Haswell and newer...
authorJan Hubicka <hubicka@ucw.cz>
Fri, 27 Oct 2017 14:30:00 +0000 (16:30 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 27 Oct 2017 14:30:00 +0000 (14:30 +0000)
* config/i386/x86-tune.def (X86_TUNE_PARTIAL_REG_DEPENDENCY,
X86_TUNE_MOVX): Disable for Haswell and newer CPUs.

From-SVN: r254152

gcc/ChangeLog
gcc/config/i386/x86-tune.def

index cdfc0025c6369b62310159fc56ce2d10462362d4..bf87fafca14fe6a6c099a2d816dea1036416c19a 100644 (file)
@@ -1,3 +1,8 @@
+2017-10-27  Jan Hubicka  <hubicka@ucw.cz>
+
+       * config/i386/x86-tune.def (X86_TUNE_PARTIAL_REG_DEPENDENCY,
+       X86_TUNE_MOVX): Disable for Haswell and newer CPUs.
+
 2017-10-27  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/82703
index 9d01761eff9aa1718fbf613f6563ab141753e23f..208d3c58ef4f19574c55c6793e2aa133d6d5cd45 100644 (file)
@@ -48,7 +48,8 @@ DEF_TUNE (X86_TUNE_SCHEDULE, "schedule",
    over partial stores.  For example preffer MOVZBL or MOVQ to load 8bit
    value over movb.  */
 DEF_TUNE (X86_TUNE_PARTIAL_REG_DEPENDENCY, "partial_reg_dependency",
-          m_P4_NOCONA | m_CORE_ALL | m_BONNELL | m_SILVERMONT | m_INTEL
+          m_P4_NOCONA | m_CORE2 | m_NEHALEM  | m_SANDYBRIDGE
+         | m_BONNELL | m_SILVERMONT | m_INTEL
          | m_KNL | m_KNM | m_AMD_MULTIPLE | m_GENERIC)
 
 /* X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY: This knob promotes all store
@@ -84,8 +85,9 @@ DEF_TUNE (X86_TUNE_PARTIAL_FLAG_REG_STALL, "partial_flag_reg_stall",
 /* X86_TUNE_MOVX: Enable to zero extend integer registers to avoid
    partial dependencies.  */
 DEF_TUNE (X86_TUNE_MOVX, "movx",
-          m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_BONNELL | m_SILVERMONT
-         | m_KNL | m_KNM | m_INTEL | m_GEODE | m_AMD_MULTIPLE  | m_GENERIC)
+          m_PPRO | m_P4_NOCONA | m_CORE2 | m_NEHALEM  | m_SANDYBRIDGE
+         | m_BONNELL | m_SILVERMONT | m_KNL | m_KNM | m_INTEL
+         | m_GEODE | m_AMD_MULTIPLE  | m_GENERIC)
 
 /* X86_TUNE_MEMORY_MISMATCH_STALL: Avoid partial stores that are followed by
    full sized loads.  */