diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86SchedBroadwell.td')
| -rwxr-xr-x | llvm/lib/Target/X86/X86SchedBroadwell.td | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td index 15b07c3dd67..bc20bd8606f 100755 --- a/llvm/lib/Target/X86/X86SchedBroadwell.td +++ b/llvm/lib/Target/X86/X86SchedBroadwell.td @@ -162,7 +162,9 @@ defm : BWWriteResPair<WriteFDiv, [BWPort0], 12>; // 10-14 cycles. // Floating defm : BWWriteResPair<WriteFSqrt, [BWPort0], 15>; // Floating point square root. defm : BWWriteResPair<WriteFRcp, [BWPort0], 5>; // Floating point reciprocal estimate. defm : BWWriteResPair<WriteFRsqrt, [BWPort0], 5>; // Floating point reciprocal square root estimate. -defm : BWWriteResPair<WriteFMA, [BWPort01], 5>; // Fused Multiply Add. +defm : BWWriteResPair<WriteFMA, [BWPort01], 5, [1], 1, 5>; // Fused Multiply Add. +defm : BWWriteResPair<WriteFMAS, [BWPort01], 5, [1], 1, 5>; // Fused Multiply Add (Scalar). +defm : BWWriteResPair<WriteFMAY, [BWPort01], 5, [1], 1, 6>; // Fused Multiply Add (YMM/ZMM). defm : BWWriteResPair<WriteFSign, [BWPort5], 1>; // Floating point fabs/fchs. defm : BWWriteResPair<WriteFLogic, [BWPort5], 1>; // Floating point and/or/xor logicals. defm : BWWriteResPair<WriteFShuffle, [BWPort5], 1>; // Floating point vector shuffles. @@ -1616,14 +1618,6 @@ def: InstRW<[BWWriteResGroup123], (instregex "MUL_F32m", "VPMULUDQYrm", "VPSADBWYrm")>; -def BWWriteResGroup124 : SchedWriteRes<[BWPort01,BWPort23]> { - let Latency = 11; - let NumMicroOps = 2; - let ResourceCycles = [1,1]; -} -def: InstRW<[BWWriteResGroup124], - (instregex "VF(N)?M(ADD|SUB|ADDSUB|SUBADD)(132|213|231)P(D|S)Ym")>; - def BWWriteResGroup126 : SchedWriteRes<[BWPort0,BWPort015]> { let Latency = 11; let NumMicroOps = 3; |

