summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86SchedSkylakeClient.td
diff options
context:
space:
mode:
authorAndrew V. Tischenko <andrew.v.tischenko@gmail.com>2018-07-20 09:39:14 +0000
committerAndrew V. Tischenko <andrew.v.tischenko@gmail.com>2018-07-20 09:39:14 +0000
commitee2e3144ba5794e9d978eee98bb88d19f5b47f47 (patch)
tree085cc4c60db72d17b4f29ac7988c963e0235714b /llvm/lib/Target/X86/X86SchedSkylakeClient.td
parent12be7b7bf7308aed4288419154d5227f11a441cf (diff)
downloadbcm5719-llvm-ee2e3144ba5794e9d978eee98bb88d19f5b47f47.tar.gz
bcm5719-llvm-ee2e3144ba5794e9d978eee98bb88d19f5b47f47.zip
Improved sched model for X86 BSWAP* instrs.
Differential Revision: https://reviews.llvm.org/D49477 llvm-svn: 337537
Diffstat (limited to 'llvm/lib/Target/X86/X86SchedSkylakeClient.td')
-rw-r--r--llvm/lib/Target/X86/X86SchedSkylakeClient.td17
1 files changed, 3 insertions, 14 deletions
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeClient.td b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
index a59d2c459ee..1417799d76b 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeClient.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
@@ -110,6 +110,9 @@ defm : SKLWriteResPair<WriteADC, [SKLPort06], 1>; // Integer ALU + flags op
defm : SKLWriteResPair<WriteIMul, [SKLPort1], 3>; // Integer multiplication.
defm : SKLWriteResPair<WriteIMul64, [SKLPort1], 3>; // Integer 64-bit multiplication.
+defm : SKLWriteResPair<WriteBSWAP32,[SKLPort15], 1>; //
+defm : SKLWriteResPair<WriteBSWAP64,[SKLPort06, SKLPort15], 2, [1,1], 2>; //
+
defm : SKLWriteResPair<WriteDiv8, [SKLPort0, SKLDivider], 25, [1,10], 1, 4>;
defm : SKLWriteResPair<WriteDiv16, [SKLPort0, SKLDivider], 25, [1,10], 1, 4>;
defm : SKLWriteResPair<WriteDiv32, [SKLPort0, SKLDivider], 25, [1,10], 1, 4>;
@@ -698,20 +701,6 @@ def SKLWriteResGroup21 : SchedWriteRes<[SKLPort237,SKLPort0156]> {
}
def: InstRW<[SKLWriteResGroup21], (instrs SFENCE)>;
-def SKLWriteResGroup22 : SchedWriteRes<[SKLPort06,SKLPort15]> {
- let Latency = 2;
- let NumMicroOps = 2;
- let ResourceCycles = [1,1];
-}
-def: InstRW<[SKLWriteResGroup22], (instrs BSWAP64r)>;
-
-def SKLWriteResGroup22_1 : SchedWriteRes<[SKLPort15]> {
- let Latency = 1;
- let NumMicroOps = 1;
- let ResourceCycles = [1];
-}
-def: InstRW<[SKLWriteResGroup22_1], (instrs BSWAP32r)>;
-
def SKLWriteResGroup23 : SchedWriteRes<[SKLPort06,SKLPort0156]> {
let Latency = 2;
let NumMicroOps = 2;
OpenPOWER on IntegriCloud