From c5f0f5309e3d849a76d733ae35f58565d1c4eb65 Mon Sep 17 00:00:00 2001 From: Andrea Di Biagio Date: Wed, 16 Jan 2019 18:18:01 +0000 Subject: [X86][BtVer2] Update latency of horizontal operations. On Jaguar, horizontal adds/subs have local forwarding disable. That means, we pay a compulsory extra cycle of write-back stage, and the value is not available until the end of that stage. This patch changes the latency of horizontal operations by adding an extra cycle. With this patch, latency numbers now match what is reported by perf. I plan to send another patch to also 'fix' the latency of shuffle operations (on Jaguar, local forwarding is disabled for vector shuffles too). Differential Revision: https://reviews.llvm.org/D56777 llvm-svn: 351366 --- llvm/lib/Target/X86/X86ScheduleBtVer2.td | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'llvm/lib') diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index 33a6b01546d..adb69cc4408 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -174,6 +174,8 @@ multiclass JWriteResYMMPair; @@ -575,10 +577,10 @@ defm : JWriteResFpuPair; -defm : JWriteResYMMPair; -defm : JWriteResFpuPair; -defm : JWriteResFpuPair; +defm : JWriteResFpuPair; // +1cy latency. +defm : JWriteResYMMPair; // +1cy latency. +defm : JWriteResFpuPair; // +1cy latency. +defm : JWriteResFpuPair; // +1cy latency. defm : X86WriteResPairUnsupported; //////////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3