[PATCH] D54107: [X86] Fix VZEROUPPER scheduling info on SNB, HSW, BDW, SXL, SKX.

Clement Courbet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 5 08:11:32 PST 2018


courbet created this revision.
courbet added reviewers: RKSimon, craig.topper.
Herald added a subscriber: gbedwell.
Herald added a reviewer: andreadb.

Starting from SNB, VZEROUPPER is handled by the renamer and uses no proc resources.
After HSW, it also has zero latency.

This fixes PR35606.

To reproduce:
Uops:

  llvm-exegesis -mode=uops -opcode-name=VZEROUPPER

Latency:

  echo -e '#LLVM-EXEGESIS-DEFREG XMM0 1\n#LLVM-EXEGESIS-DEFREG XMM1 1\nvzeroupper' | /tmp/llvm-exegesis -mode=latency -snippets-file=-
  echo -e '#LLVM-EXEGESIS-DEFREG XMM0 1\n#LLVM-EXEGESIS-DEFREG XMM1 1\nvzeroupper\naddps %xmm0, %xmm1' | /tmp/llvm-exegesis -mode=latency -snippets-file=-


Repository:
  rL LLVM

https://reviews.llvm.org/D54107

Files:
  lib/Target/X86/X86SchedBroadwell.td
  lib/Target/X86/X86SchedHaswell.td
  lib/Target/X86/X86SchedSandyBridge.td
  lib/Target/X86/X86SchedSkylakeClient.td
  lib/Target/X86/X86SchedSkylakeServer.td
  test/CodeGen/X86/avx-schedule.ll
  test/CodeGen/X86/avx2-schedule.ll
  test/CodeGen/X86/avx512-schedule.ll
  test/CodeGen/X86/avx512vpopcntdq-schedule.ll
  test/CodeGen/X86/f16c-schedule.ll
  test/CodeGen/X86/fma-schedule.ll
  test/CodeGen/X86/fma4-schedule.ll
  test/CodeGen/X86/xop-schedule.ll
  test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
  test/tools/llvm-mca/X86/Generic/resources-avx1.s
  test/tools/llvm-mca/X86/Haswell/resources-avx1.s
  test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
  test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
  test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
  tools/llvm-mca/lib/Stages/Decode.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54107.172595.patch
Type: text/x-patch
Size: 92865 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181105/f6418daf/attachment-0001.bin>


More information about the llvm-commits mailing list