diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-03-26 19:01:06 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-03-26 19:01:06 +0000 |
| commit | fcf49df21cd841941317f59cbe69726725f36809 (patch) | |
| tree | 080b17569462189e68084368ab3d38681a202c4f /llvm/lib/Target | |
| parent | b45f92167857296cc4b090f81e0938091f1ec248 (diff) | |
| download | bcm5719-llvm-fcf49df21cd841941317f59cbe69726725f36809.tar.gz bcm5719-llvm-fcf49df21cd841941317f59cbe69726725f36809.zip | |
[X86][Btver2] Add (U)COMISD/(U)COMISD scheduler costs
Account for the "+i" integer pipe transfer cost (1cy use of JALU0 for GPR PRF write)
llvm-svn: 328573
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86ScheduleBtVer2.td | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index c9af75ceed0..502c569f354 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -647,6 +647,16 @@ def JWriteVMOVNTPYSt: SchedWriteRes<[JFPU1, JSTC, JSAGU]> { } def : InstRW<[JWriteVMOVNTPYSt], (instrs VMOVNTDQYmr, VMOVNTPDYmr, VMOVNTPSYmr)>; +def JWriteFComi : SchedWriteRes<[JFPU0, JFPA, JALU0]> { + let Latency = 3; +} +def : InstRW<[JWriteFComi], (instregex "(V)?(U)?COMIS(D|S)rr")>; + +def JWriteFComiLd : SchedWriteRes<[JLAGU, JFPU0, JFPA, JALU0]> { + let Latency = 8; +} +def : InstRW<[JWriteFComiLd], (instregex "(V)?(U)?COMIS(D|S)rm")>; + def JWriteFCmp: SchedWriteRes<[JFPU0, JFPA]> { let Latency = 2; } |

