]> granicus.if.org Git - llvm/commit
[X86][Skylake] Adding the scheduling information for the SkylakeClient target
authorGadi Haber <gadi.haber@intel.com>
Tue, 19 Sep 2017 06:19:27 +0000 (06:19 +0000)
committerGadi Haber <gadi.haber@intel.com>
Tue, 19 Sep 2017 06:19:27 +0000 (06:19 +0000)
commitbbbe81ad6ad6db7ccb332df1f1932a5589a7eeca
treeac8411a6ce6651b270a524f71b70b7884b036c6b
parent33bc70e64dc602feb2bafaf363b0f5642001173d
[X86][Skylake] Adding the scheduling information for the SkylakeClient target

This patch adds the instruction scheduling information for the SkylakeClient (SKL) architecture target by adding the file X86SchedSkylakeClient.td located under the X86 Target.
We used the scheduling information retrieved from the Skylake architects in order to create the file.
The scheduling information includes latency, number of micro-Ops and used ports by each SKL instruction.
The patch continues the scheduling replacement and insertion effort started with the SNB target in r307529 and r310792 and for HSW in r311879.

Please expect some performance fluctuations due to code alignment effects.

Reviewers: craig.topper, zvi, chandlerc, igorb, aymanmus, RKSimon, delena
Differential Revision: https://reviews.llvm.org/D37294

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313613 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
lib/Target/X86/X86.td
lib/Target/X86/X86SchedSkylakeClient.td [new file with mode: 0755]
lib/Target/X86/X86Schedule.td
test/CodeGen/X86/aes-schedule.ll
test/CodeGen/X86/avx-schedule.ll
test/CodeGen/X86/avx2-schedule.ll
test/CodeGen/X86/bmi2-schedule.ll
test/CodeGen/X86/f16c-schedule.ll
test/CodeGen/X86/fma-schedule.ll
test/CodeGen/X86/recip-fastmath.ll
test/CodeGen/X86/recip-fastmath2.ll
test/CodeGen/X86/sse-schedule.ll
test/CodeGen/X86/sse2-schedule.ll
test/CodeGen/X86/sse3-schedule.ll
test/CodeGen/X86/sse41-schedule.ll
test/CodeGen/X86/sse42-schedule.ll
test/CodeGen/X86/ssse3-schedule.ll