summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/X86')
-rwxr-xr-xllvm/lib/Target/X86/X86SchedBroadwell.td6
-rw-r--r--llvm/lib/Target/X86/X86SchedSandyBridge.td18
-rwxr-xr-xllvm/lib/Target/X86/X86SchedSkylakeServer.td22
3 files changed, 8 insertions, 38 deletions
diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td
index 3903095ae67..4f2655dbe40 100755
--- a/llvm/lib/Target/X86/X86SchedBroadwell.td
+++ b/llvm/lib/Target/X86/X86SchedBroadwell.td
@@ -1695,11 +1695,7 @@ def: InstRW<[BWWriteResGroup115], (instregex "MMX_PMADDUBSWrm",
"(V?)PHMINPOSUWrm",
"(V?)PMADDUBSWrm",
"(V?)PMADDWDrm",
- "(V?)PSADBWrm",
- "(V?)RCPPSm",
- "(V?)RCPSSm",
- "(V?)RSQRTPSm",
- "(V?)RSQRTSSm")>;
+ "(V?)PSADBWrm")>;
def BWWriteResGroup116 : SchedWriteRes<[BWPort01,BWPort23]> {
let Latency = 10;
diff --git a/llvm/lib/Target/X86/X86SchedSandyBridge.td b/llvm/lib/Target/X86/X86SchedSandyBridge.td
index 38990797795..c4dd583d409 100644
--- a/llvm/lib/Target/X86/X86SchedSandyBridge.td
+++ b/llvm/lib/Target/X86/X86SchedSandyBridge.td
@@ -141,10 +141,10 @@ def : WriteRes<WriteFMove, [SBPort5]>;
defm : SBWriteResPair<WriteFAdd, [SBPort1], 3>;
defm : SBWriteResPair<WriteFCmp, [SBPort1], 3, [1], 1, 6>;
defm : SBWriteResPair<WriteFCom, [SBPort1], 3>;
-defm : SBWriteResPair<WriteFMul, [SBPort0], 5>;
+defm : SBWriteResPair<WriteFMul, [SBPort0], 5, [1], 1, 6>;
defm : SBWriteResPair<WriteFDiv, [SBPort0], 24>;
-defm : SBWriteResPair<WriteFRcp, [SBPort0], 5>;
-defm : SBWriteResPair<WriteFRsqrt, [SBPort0], 5>;
+defm : SBWriteResPair<WriteFRcp, [SBPort0], 5, [1], 1, 6>;
+defm : SBWriteResPair<WriteFRsqrt, [SBPort0], 5, [1], 1, 6>;
defm : SBWriteResPair<WriteFSqrt, [SBPort0], 14>;
defm : SBWriteResPair<WriteCvtF2I, [SBPort1], 3>;
defm : SBWriteResPair<WriteCvtI2F, [SBPort1], 4>;
@@ -1561,16 +1561,8 @@ def SBWriteResGroup104 : SchedWriteRes<[SBPort0,SBPort23]> {
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup104], (instregex "(V?)MULPDrm",
- "(V?)MULPSrm",
- "(V?)MULSDrm",
- "(V?)MULSSrm",
- "(V?)PCMPGTQrm",
- "(V?)PHMINPOSUWrm",
- "(V?)RCPPSm",
- "(V?)RCPSSm",
- "(V?)RSQRTPSm",
- "(V?)RSQRTSSm")>;
+def: InstRW<[SBWriteResGroup104], (instregex "(V?)PCMPGTQrm",
+ "(V?)PHMINPOSUWrm")>;
def SBWriteResGroup106 : SchedWriteRes<[SBPort1,SBPort23]> {
let Latency = 11;
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index 40b24c7a72c..561e4ebea99 100755
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -157,8 +157,8 @@ defm : SKXWriteResPair<WriteFCom, [SKXPort0], 2>; // Floating point compare to
defm : SKXWriteResPair<WriteFMul, [SKXPort0], 5>; // Floating point multiplication.
defm : SKXWriteResPair<WriteFDiv, [SKXPort0], 12>; // 10-14 cycles. // Floating point division.
defm : SKXWriteResPair<WriteFSqrt, [SKXPort0], 15>; // Floating point square root.
-defm : SKXWriteResPair<WriteFRcp, [SKXPort0], 4>; // Floating point reciprocal estimate.
-defm : SKXWriteResPair<WriteFRsqrt, [SKXPort0], 4>; // Floating point reciprocal square root estimate.
+defm : SKXWriteResPair<WriteFRcp, [SKXPort0], 4, [1], 1, 6>; // Floating point reciprocal estimate.
+defm : SKXWriteResPair<WriteFRsqrt, [SKXPort0], 4, [1], 1, 6>; // Floating point reciprocal square root estimate.
defm : SKXWriteResPair<WriteFMA, [SKXPort015], 4>; // Fused Multiply Add.
defm : SKXWriteResPair<WriteFSign, [SKXPort0], 1>; // Floating point fabs/fchs.
defm : SKXWriteResPair<WriteFLogic, [SKXPort015], 1, [1], 1, 6>; // Floating point and/or/xor logicals.
@@ -3820,24 +3820,6 @@ def SKXWriteResGroup146 : SchedWriteRes<[SKXPort1,SKXPort6,SKXPort23,SKXPort0156
def: InstRW<[SKXWriteResGroup146], (instregex "LAR(16|32|64)rm",
"LSL(16|32|64)rm")>;
-def SKXWriteResGroup147 : SchedWriteRes<[SKXPort0,SKXPort23]> {
- let Latency = 10;
- let NumMicroOps = 2;
- let ResourceCycles = [1,1];
-}
-def: InstRW<[SKXWriteResGroup147], (instregex "RCPPSm",
- "RSQRTPSm",
- "VRCP14PDZ128m(b?)",
- "VRCP14PSZ128m(b?)",
- "VRCP14SDrm(b?)",
- "VRCP14SSrm(b?)",
- "VRCPPSm",
- "VRSQRT14PDZ128m(b?)",
- "VRSQRT14PSZ128m(b?)",
- "VRSQRT14SDrm(b?)",
- "VRSQRT14SSrm(b?)",
- "VRSQRTPSm")>;
-
def SKXWriteResGroup148 : SchedWriteRes<[SKXPort5,SKXPort23]> {
let Latency = 10;
let NumMicroOps = 2;
OpenPOWER on IntegriCloud