[PATCH] D74000: [X86] Improve the gather scheduler models for SkylakeClient and SkylakeServer

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 4 15:00:13 PST 2020


craig.topper created this revision.
craig.topper added reviewers: RKSimon, andreadb.
Herald added subscribers: gbedwell, hiraditya.
Herald added a project: LLVM.

The load ports need a cycle for each potentially loaded element just like Haswell and Skylake. Unlike Haswell and Broadwell, the number of uops does not scale with the number of elements. Instead the load uops run for multiple cycles.

I've taken the latency number from the uops.info. The port binding for the non-load uops is taken from the original IACA data I have.

I've added avx512 gather instructions to llvm-mca resource tests. I wanted to pre-commit them, but since some of them have 0 uops in the existing data, llvm-mca gave an error.


https://reviews.llvm.org/D74000

Files:
  llvm/lib/Target/X86/X86SchedSkylakeClient.td
  llvm/lib/Target/X86/X86SchedSkylakeServer.td
  llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
  llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
  llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
  llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74000.242435.patch
Type: text/x-patch
Size: 45460 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200204/855c8f29/attachment.bin>


More information about the llvm-commits mailing list