[llvm] r320289 - [X86] Add CMPSDrr/rm to the scheduler models.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 10 01:14:37 PST 2017


Author: ctopper
Date: Sun Dec 10 01:14:37 2017
New Revision: 320289

URL: http://llvm.org/viewvc/llvm-project?rev=320289&view=rev
Log:
[X86] Add CMPSDrr/rm to the scheduler models.

Somehow CMPSSrr/rm was there and the VEX version was there, but this was consistently missing.

Modified:
    llvm/trunk/lib/Target/X86/X86SchedBroadwell.td
    llvm/trunk/lib/Target/X86/X86SchedHaswell.td
    llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
    llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td
    llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td

Modified: llvm/trunk/lib/Target/X86/X86SchedBroadwell.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedBroadwell.td?rev=320289&r1=320288&r2=320289&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedBroadwell.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedBroadwell.td Sun Dec 10 01:14:37 2017
@@ -1291,6 +1291,7 @@ def: InstRW<[BWWriteResGroup27], (instre
 def: InstRW<[BWWriteResGroup27], (instregex "BSR(16|32|64)rr")>;
 def: InstRW<[BWWriteResGroup27], (instregex "CMPPDrri")>;
 def: InstRW<[BWWriteResGroup27], (instregex "CMPPSrri")>;
+def: InstRW<[BWWriteResGroup27], (instregex "CMPSDrr")>;
 def: InstRW<[BWWriteResGroup27], (instregex "CMPSSrr")>;
 def: InstRW<[BWWriteResGroup27], (instregex "COMISDrr")>;
 def: InstRW<[BWWriteResGroup27], (instregex "COMISSrr")>;
@@ -2769,6 +2770,7 @@ def: InstRW<[BWWriteResGroup91], (instre
 def: InstRW<[BWWriteResGroup91], (instregex "BSR(16|32|64)rm")>;
 def: InstRW<[BWWriteResGroup91], (instregex "CMPPDrmi")>;
 def: InstRW<[BWWriteResGroup91], (instregex "CMPPSrmi")>;
+def: InstRW<[BWWriteResGroup91], (instregex "CMPSDrm")>;
 def: InstRW<[BWWriteResGroup91], (instregex "CMPSSrm")>;
 def: InstRW<[BWWriteResGroup91], (instregex "COMISDrm")>;
 def: InstRW<[BWWriteResGroup91], (instregex "COMISSrm")>;

Modified: llvm/trunk/lib/Target/X86/X86SchedHaswell.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedHaswell.td?rev=320289&r1=320288&r2=320289&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedHaswell.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedHaswell.td Sun Dec 10 01:14:37 2017
@@ -1586,6 +1586,7 @@ def: InstRW<[HWWriteResGroup12], (instre
 def: InstRW<[HWWriteResGroup12], (instregex "ADDSSrm")>;
 def: InstRW<[HWWriteResGroup12], (instregex "BSF(16|32|64)rm")>;
 def: InstRW<[HWWriteResGroup12], (instregex "BSR(16|32|64)rm")>;
+def: InstRW<[HWWriteResGroup12], (instregex "CMPSDrm")>;
 def: InstRW<[HWWriteResGroup12], (instregex "CMPSSrm")>;
 def: InstRW<[HWWriteResGroup12], (instregex "COMISDrm")>;
 def: InstRW<[HWWriteResGroup12], (instregex "COMISSrm")>;
@@ -2591,6 +2592,7 @@ def: InstRW<[HWWriteResGroup50], (instre
 def: InstRW<[HWWriteResGroup50], (instregex "BSR(16|32|64)rr")>;
 def: InstRW<[HWWriteResGroup50], (instregex "CMPPDrri")>;
 def: InstRW<[HWWriteResGroup50], (instregex "CMPPSrri")>;
+def: InstRW<[HWWriteResGroup50], (instregex "CMPSDrr")>;
 def: InstRW<[HWWriteResGroup50], (instregex "CMPSSrr")>;
 def: InstRW<[HWWriteResGroup50], (instregex "COMISDrr")>;
 def: InstRW<[HWWriteResGroup50], (instregex "COMISSrr")>;

Modified: llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td?rev=320289&r1=320288&r2=320289&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td Sun Dec 10 01:14:37 2017
@@ -975,6 +975,7 @@ def: InstRW<[SBWriteResGroup21], (instre
 def: InstRW<[SBWriteResGroup21], (instregex "BSR(16|32|64)rr")>;
 def: InstRW<[SBWriteResGroup21], (instregex "CMPPDrri")>;
 def: InstRW<[SBWriteResGroup21], (instregex "CMPPSrri")>;
+def: InstRW<[SBWriteResGroup21], (instregex "CMPSDrr")>;
 def: InstRW<[SBWriteResGroup21], (instregex "CMPSSrr")>;
 def: InstRW<[SBWriteResGroup21], (instregex "CRC32r(16|32|64)r8")>;
 def: InstRW<[SBWriteResGroup21], (instregex "CRC32r(16|32|64)r64")>;
@@ -2264,6 +2265,7 @@ def: InstRW<[SBWriteResGroup90], (instre
 def: InstRW<[SBWriteResGroup90], (instregex "ADDSUBPSrm")>;
 def: InstRW<[SBWriteResGroup90], (instregex "CMPPDrmi")>;
 def: InstRW<[SBWriteResGroup90], (instregex "CMPPSrmi")>;
+def: InstRW<[SBWriteResGroup90], (instregex "CMPSDrm")>;
 def: InstRW<[SBWriteResGroup90], (instregex "CMPSSrm")>;
 def: InstRW<[SBWriteResGroup90], (instregex "CVTDQ2PSrm")>;
 def: InstRW<[SBWriteResGroup90], (instregex "CVTPS2DQrm")>;

Modified: llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td?rev=320289&r1=320288&r2=320289&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td Sun Dec 10 01:14:37 2017
@@ -1721,6 +1721,7 @@ def SKLWriteResGroup49 : SchedWriteRes<[
 }
 def: InstRW<[SKLWriteResGroup49], (instregex "CMPPDrri")>;
 def: InstRW<[SKLWriteResGroup49], (instregex "CMPPSrri")>;
+def: InstRW<[SKLWriteResGroup49], (instregex "CMPSDrr")>;
 def: InstRW<[SKLWriteResGroup49], (instregex "CMPSSrr")>;
 def: InstRW<[SKLWriteResGroup49], (instregex "CVTDQ2PSrr")>;
 def: InstRW<[SKLWriteResGroup49], (instregex "CVTPS2DQrr")>;
@@ -3116,6 +3117,7 @@ def SKLWriteResGroup123 : SchedWriteRes<
   let NumMicroOps = 2;
   let ResourceCycles = [1,1];
 }
+def: InstRW<[SKLWriteResGroup123], (instregex "CMPSDrm")>;
 def: InstRW<[SKLWriteResGroup123], (instregex "CMPSSrm")>;
 def: InstRW<[SKLWriteResGroup123], (instregex "CVTPS2PDrm")>;
 def: InstRW<[SKLWriteResGroup123], (instregex "MAX(C?)SDrm")>;

Modified: llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td?rev=320289&r1=320288&r2=320289&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td Sun Dec 10 01:14:37 2017
@@ -2405,6 +2405,7 @@ def: InstRW<[SKXWriteResGroup50], (instr
 def: InstRW<[SKXWriteResGroup50], (instregex "ADDSUBPSrr")>;
 def: InstRW<[SKXWriteResGroup50], (instregex "CMPPDrri")>;
 def: InstRW<[SKXWriteResGroup50], (instregex "CMPPSrri")>;
+def: InstRW<[SKXWriteResGroup50], (instregex "CMPSDrr")>;
 def: InstRW<[SKXWriteResGroup50], (instregex "CMPSSrr")>;
 def: InstRW<[SKXWriteResGroup50], (instregex "CVTDQ2PSrr")>;
 def: InstRW<[SKXWriteResGroup50], (instregex "CVTPS2DQrr")>;
@@ -5062,6 +5063,7 @@ def SKXWriteResGroup137 : SchedWriteRes<
 }
 def: InstRW<[SKXWriteResGroup137], (instregex "ADDSDrm")>;
 def: InstRW<[SKXWriteResGroup137], (instregex "ADDSSrm")>;
+def: InstRW<[SKXWriteResGroup137], (instregex "CMPSDrm")>;
 def: InstRW<[SKXWriteResGroup137], (instregex "CMPSSrm")>;
 def: InstRW<[SKXWriteResGroup137], (instregex "CVTPS2PDrm")>;
 def: InstRW<[SKXWriteResGroup137], (instregex "MAX(C?)SDrm")>;




More information about the llvm-commits mailing list