[llvm] r332591 - [X86][SNB] Minor scheduler cleanup

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu May 17 03:36:29 PDT 2018


Author: rksimon
Date: Thu May 17 03:36:29 2018
New Revision: 332591

URL: http://llvm.org/viewvc/llvm-project?rev=332591&view=rev
Log:
[X86][SNB] Minor scheduler cleanup

Merge 2 instregex and explain the VMOVDQArr/MOVDQArr difference

Modified:
    llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td

Modified: llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td?rev=332591&r1=332590&r2=332591&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td Thu May 17 03:36:29 2018
@@ -512,9 +512,7 @@ def: InstRW<[SBWriteResGroup4], (instreg
                                            "BTR(16|32|64)ri8",
                                            "BTR(16|32|64)rr",
                                            "BTS(16|32|64)ri8",
-                                           "BTS(16|32|64)rr",
-                                           "VMOVDQA(Y?)rr",
-                                           "VMOVDQU(Y?)rr")>;
+                                           "BTS(16|32|64)rr")>;
 
 def SBWriteResGroup5 : SchedWriteRes<[SBPort15]> {
   let Latency = 1;
@@ -532,8 +530,7 @@ def SBWriteResGroup6 : SchedWriteRes<[SB
   let ResourceCycles = [1];
 }
 def: InstRW<[SBWriteResGroup6], (instregex "MMX_MOVQ2DQrr",
-                                           "MOVDQArr", // TODO: Why are these separated from their VEX equivalent
-                                           "MOVDQUrr")>; // TODO: Why are these separated from their VEX equivalent
+                                           "MOVDQ(A|U)rr")>; // NOTE: Different port requirements to VEX equivalents
 
 def SBWriteResGroup7 : SchedWriteRes<[SBPort0]> {
   let Latency = 2;
@@ -743,8 +740,7 @@ def SBWriteResGroup33 : SchedWriteRes<[S
   let NumMicroOps = 2;
   let ResourceCycles = [1,1];
 }
-def: InstRW<[SBWriteResGroup33], (instregex "PUSH64i8",
-                                            "PUSH(16|32|64)r")>;
+def: InstRW<[SBWriteResGroup33], (instregex "PUSH(16r|32r|64r|64i8)")>;
 
 def SBWriteResGroup35 : SchedWriteRes<[SBPort1,SBPort5]> {
   let Latency = 5;




More information about the llvm-commits mailing list