OSDN Git Service

[X86] Add LEA64_32r to scheduler models for Sandybridge,Haswell,Broadwell,Skylake
authorCraig Topper <craig.topper@intel.com>
Sun, 10 Dec 2017 09:14:42 +0000 (09:14 +0000)
committerCraig Topper <craig.topper@intel.com>
Sun, 10 Dec 2017 09:14:42 +0000 (09:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320293 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86SchedBroadwell.td
lib/Target/X86/X86SchedHaswell.td
lib/Target/X86/X86SchedSandyBridge.td
lib/Target/X86/X86SchedSkylakeClient.td
lib/Target/X86/X86SchedSkylakeServer.td

index 50d9452..0f0b4a4 100755 (executable)
@@ -708,7 +708,7 @@ def: InstRW<[BWWriteResGroup7], (instregex "BLSR32rr")>;
 def: InstRW<[BWWriteResGroup7], (instregex "BLSR64rr")>;
 def: InstRW<[BWWriteResGroup7], (instregex "BZHI32rr")>;
 def: InstRW<[BWWriteResGroup7], (instregex "BZHI64rr")>;
-def: InstRW<[BWWriteResGroup7], (instregex "LEA(16|32|64)r")>;
+def: InstRW<[BWWriteResGroup7], (instregex "LEA(16|32|64)(_32)?r")>;
 def: InstRW<[BWWriteResGroup7], (instregex "MMX_PABSBrr64")>;
 def: InstRW<[BWWriteResGroup7], (instregex "MMX_PABSDrr64")>;
 def: InstRW<[BWWriteResGroup7], (instregex "MMX_PABSWrr64")>;
index d32d379..4cc5544 100644 (file)
@@ -1252,7 +1252,7 @@ def: InstRW<[HWWriteResGroup8], (instregex "BLSR32rr")>;
 def: InstRW<[HWWriteResGroup8], (instregex "BLSR64rr")>;
 def: InstRW<[HWWriteResGroup8], (instregex "BZHI32rr")>;
 def: InstRW<[HWWriteResGroup8], (instregex "BZHI64rr")>;
-def: InstRW<[HWWriteResGroup8], (instregex "LEA(16|32|64)r")>;
+def: InstRW<[HWWriteResGroup8], (instregex "LEA(16|32|64)(_32)?r")>;
 def: InstRW<[HWWriteResGroup8], (instregex "MMX_PABSBrr64")>;
 def: InstRW<[HWWriteResGroup8], (instregex "MMX_PABSDrr64")>;
 def: InstRW<[HWWriteResGroup8], (instregex "MMX_PABSWrr64")>;
index dfebd3a..5e1cfbd 100644 (file)
@@ -469,7 +469,7 @@ def SBWriteResGroup3 : SchedWriteRes<[SBPort01]> {
   let NumMicroOps = 1;
   let ResourceCycles = [1];
 }
-def: InstRW<[SBWriteResGroup3], (instregex "LEA(16|32|64)r")>;
+def: InstRW<[SBWriteResGroup3], (instregex "LEA(16|32|64)(_32)?r")>;
 
 def SBWriteResGroup4 : SchedWriteRes<[SBPort05]> {
   let Latency = 1;
index cde59e8..1c00296 100644 (file)
@@ -821,7 +821,7 @@ def: InstRW<[SKLWriteResGroup8], (instregex "BLSR32rr")>;
 def: InstRW<[SKLWriteResGroup8], (instregex "BLSR64rr")>;
 def: InstRW<[SKLWriteResGroup8], (instregex "BZHI32rr")>;
 def: InstRW<[SKLWriteResGroup8], (instregex "BZHI64rr")>;
-def: InstRW<[SKLWriteResGroup8], (instregex "LEA(16|32|64)r")>;
+def: InstRW<[SKLWriteResGroup8], (instregex "LEA(16|32|64)(_32)?r")>;
 
 def SKLWriteResGroup9 : SchedWriteRes<[SKLPort015]> {
   let Latency = 1;
index fe3dfd5..94ec2d8 100755 (executable)
@@ -1124,7 +1124,7 @@ def: InstRW<[SKXWriteResGroup8], (instregex "BLSR32rr")>;
 def: InstRW<[SKXWriteResGroup8], (instregex "BLSR64rr")>;
 def: InstRW<[SKXWriteResGroup8], (instregex "BZHI32rr")>;
 def: InstRW<[SKXWriteResGroup8], (instregex "BZHI64rr")>;
-def: InstRW<[SKXWriteResGroup8], (instregex "LEA(16|32|64)r")>;
+def: InstRW<[SKXWriteResGroup8], (instregex "LEA(16|32|64)(_32)?r")>;
 
 def SKXWriteResGroup9 : SchedWriteRes<[SKXPort015]> {
   let Latency = 1;