[X86][Haswell][SchedModel] Add architecture specific scheduling models.
authorQuentin Colombet <qcolombet@apple.com>
Mon, 18 Aug 2014 17:55:56 +0000 (17:55 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Mon, 18 Aug 2014 17:55:56 +0000 (17:55 +0000)
Group: Floating Point XMM and YMM instructions.
Sub-group: Logic instructions.

<rdar://problem/15607571>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215922 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86SchedHaswell.td

index 99903006f20902beb44d58f7d7cf47c31918b64d..a1bb64d8f3a826b5b8861d0b8141d970872ad9ee 100644 (file)
@@ -2097,4 +2097,13 @@ def WriteRSQRTPSYm : SchedWriteRes<[HWPort0, HWPort15, HWPort23]> {
 }
 def : InstRW<[WriteRSQRTPSYm], (instregex "VRSQRTPSYm(_Int)?")>;
 
+//-- Logic instructions --//
+
+// AND, ANDN, OR, XOR PS/PD.
+// x,x / v,v,v.
+def : InstRW<[WriteP5], (instregex "(V?)(AND|ANDN|OR|XOR)P(S|D)(Y?)rr")>;
+// x,m / v,v,m.
+def : InstRW<[WriteP5Ld, ReadAfterLd],
+                         (instregex "(V?)(AND|ANDN|OR|XOR)P(S|D)(Y?)rm")>;
+
 } // SchedModel