summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86SchedBroadwell.td6
-rw-r--r--llvm/lib/Target/X86/X86SchedHaswell.td6
-rw-r--r--llvm/lib/Target/X86/X86SchedSandyBridge.td7
-rw-r--r--llvm/lib/Target/X86/X86SchedSkylakeClient.td6
-rw-r--r--llvm/lib/Target/X86/X86SchedSkylakeServer.td6
5 files changed, 19 insertions, 12 deletions
diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td
index 028729057fe..dff32daa537 100644
--- a/llvm/lib/Target/X86/X86SchedBroadwell.td
+++ b/llvm/lib/Target/X86/X86SchedBroadwell.td
@@ -878,10 +878,10 @@ def BWWriteResGroup45 : SchedWriteRes<[BWPort0156]> {
}
def: InstRW<[BWWriteResGroup45], (instrs FNCLEX)>;
-def BWWriteResGroup46 : SchedWriteRes<[BWPort015,BWPort0156]> {
- let Latency = 4;
+def BWWriteResGroup46 : SchedWriteRes<[]> {
+ let Latency = 0;
let NumMicroOps = 4;
- let ResourceCycles = [1,3];
+ let ResourceCycles = [];
}
def: InstRW<[BWWriteResGroup46], (instrs VZEROUPPER)>;
diff --git a/llvm/lib/Target/X86/X86SchedHaswell.td b/llvm/lib/Target/X86/X86SchedHaswell.td
index 799ba1efdde..429558ef2c5 100644
--- a/llvm/lib/Target/X86/X86SchedHaswell.td
+++ b/llvm/lib/Target/X86/X86SchedHaswell.td
@@ -1408,10 +1408,10 @@ def HWWriteResGroup81 : SchedWriteRes<[HWPort0156]> {
}
def: InstRW<[HWWriteResGroup81], (instrs FNCLEX)>;
-def HWWriteResGroup82 : SchedWriteRes<[HWPort015,HWPort0156]> {
- let Latency = 4;
+def HWWriteResGroup82 : SchedWriteRes<[]> {
+ let Latency = 0;
let NumMicroOps = 4;
- let ResourceCycles = [1,3];
+ let ResourceCycles = [];
}
def: InstRW<[HWWriteResGroup82], (instrs VZEROUPPER)>;
diff --git a/llvm/lib/Target/X86/X86SchedSandyBridge.td b/llvm/lib/Target/X86/X86SchedSandyBridge.td
index 569ae366eaa..9dbf0976989 100644
--- a/llvm/lib/Target/X86/X86SchedSandyBridge.td
+++ b/llvm/lib/Target/X86/X86SchedSandyBridge.td
@@ -1112,6 +1112,13 @@ def SBWriteResGroupVzeroall : SchedWriteRes<[SBPort5]> {
}
def: InstRW<[SBWriteResGroupVzeroall], (instrs VZEROALL)>;
+def SBWriteResGroupVzeroupper : SchedWriteRes<[]> {
+ let Latency = 1;
+ let NumMicroOps = 4;
+ let ResourceCycles = [];
+}
+def: InstRW<[SBWriteResGroupVzeroupper], (instrs VZEROUPPER)>;
+
def: InstRW<[WriteZero], (instrs CLC)>;
// Intruction variants handled by the renamer. These might not need execution
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeClient.td b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
index d4a3eb07b98..2c9eb751608 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeClient.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
@@ -897,10 +897,10 @@ def SKLWriteResGroup55 : SchedWriteRes<[SKLPort6,SKLPort0156]> {
}
def: InstRW<[SKLWriteResGroup55], (instrs PAUSE)>;
-def SKLWriteResGroup56 : SchedWriteRes<[SKLPort015,SKLPort0156]> {
- let Latency = 4;
+def SKLWriteResGroup56 : SchedWriteRes<[]> {
+ let Latency = 0;
let NumMicroOps = 4;
- let ResourceCycles = [1,3];
+ let ResourceCycles = [];
}
def: InstRW<[SKLWriteResGroup56], (instrs VZEROUPPER)>;
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index cbcb6a6e58b..ec8e4db02d8 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -1009,10 +1009,10 @@ def SKXWriteResGroup55 : SchedWriteRes<[SKXPort0156]> {
}
def: InstRW<[SKXWriteResGroup55], (instrs FNCLEX)>;
-def SKXWriteResGroup56 : SchedWriteRes<[SKXPort015,SKXPort0156]> {
- let Latency = 4;
+def SKXWriteResGroup56 : SchedWriteRes<[]> {
+ let Latency = 0;
let NumMicroOps = 4;
- let ResourceCycles = [1,3];
+ let ResourceCycles = [];
}
def: InstRW<[SKXWriteResGroup56], (instrs VZEROUPPER)>;
OpenPOWER on IntegriCloud