From 2116d69f100c243069be1e76ac7fdac65ea5328a Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Fri, 11 Nov 2022 14:51:05 +0000 Subject: [PATCH] [X86] Replace unnecessary CVTPS2DQ folded overrides with better base class defs Broadwell just needed the load latency to be tweaked for the overrides to be unnecessary - I think this was due to Issue #38536 (underestimation of most broadwell load latencies) --- llvm/lib/Target/X86/X86SchedBroadwell.td | 6 ++---- llvm/lib/Target/X86/X86SchedHaswell.td | 10 ---------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td index 7156c2e..0040d0e 100644 --- a/llvm/lib/Target/X86/X86SchedBroadwell.td +++ b/llvm/lib/Target/X86/X86SchedBroadwell.td @@ -358,8 +358,8 @@ defm : X86WriteResPairUnsupported; // Conversion between integer and float. defm : BWWriteResPair; -defm : BWWriteResPair; -defm : BWWriteResPair; +defm : BWWriteResPair; +defm : BWWriteResPair; defm : X86WriteResPairUnsupported; defm : BWWriteResPair; defm : BWWriteResPair; @@ -1175,8 +1175,6 @@ def BWWriteResGroup101 : SchedWriteRes<[BWPort1,BWPort23]> { } def: InstRW<[BWWriteResGroup101], (instregex "(ADD|SUB|SUBR)_F(32|64)m", "ILD_F(16|32|64)m")>; -def: InstRW<[BWWriteResGroup101], (instrs VCVTPS2DQYrm, - VCVTTPS2DQYrm)>; def BWWriteResGroup108 : SchedWriteRes<[BWPort5,BWPort23,BWPort015]> { let Latency = 9; diff --git a/llvm/lib/Target/X86/X86SchedHaswell.td b/llvm/lib/Target/X86/X86SchedHaswell.td index 7c5804f..c0c3826 100644 --- a/llvm/lib/Target/X86/X86SchedHaswell.td +++ b/llvm/lib/Target/X86/X86SchedHaswell.td @@ -1234,14 +1234,6 @@ def HWWriteResGroup51 : SchedWriteRes<[HWPort5]> { } def: InstRW<[HWWriteResGroup51], (instregex "VPBROADCAST(B|W)rr")>; -def HWWriteResGroup52 : SchedWriteRes<[HWPort1,HWPort23]> { - let Latency = 9; - let NumMicroOps = 2; - let ResourceCycles = [1,1]; -} -def: InstRW<[HWWriteResGroup52], (instregex "(V?)CVTPS2DQrm", - "(V?)CVTTPS2DQrm")>; - def HWWriteResGroup52_1 : SchedWriteRes<[HWPort1,HWPort23]> { let Latency = 10; let NumMicroOps = 2; @@ -1249,8 +1241,6 @@ def HWWriteResGroup52_1 : SchedWriteRes<[HWPort1,HWPort23]> { } def: InstRW<[HWWriteResGroup52_1], (instregex "(ADD|SUB|SUBR)_F(32|64)m", "ILD_F(16|32|64)m")>; -def: InstRW<[HWWriteResGroup52_1], (instrs VCVTPS2DQYrm, - VCVTTPS2DQYrm)>; def HWWriteResGroup53_1 : SchedWriteRes<[HWPort5,HWPort23]> { let Latency = 9; -- 2.7.4