[all-commits] [llvm/llvm-project] 340894: [X86] AMD Znver2 (Rome) Scheduler enablement

Ganesh via All-commits all-commits at lists.llvm.org
Thu Jan 9 11:16:13 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3408940f736955402b7676e3b8bab6906cc82637
      https://github.com/llvm/llvm-project/commit/3408940f736955402b7676e3b8bab6906cc82637
  Author: Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian at amd.com>
  Date:   2020-01-10 (Fri, 10 Jan 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86InstrInfo.td
    A llvm/lib/Target/X86/X86ScheduleZnver2.td
    M llvm/test/MC/X86/x86_long_nop.s
    M llvm/test/tools/llvm-mca/X86/Generic/resources-clzero.s
    M llvm/test/tools/llvm-mca/X86/Znver1/resources-clzero.s
    A llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-2.s
    A llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-3.s
    A llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-4.s
    A llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-5.s
    A llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-6.s
    A llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-7.s
    A llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-adx.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-aes.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-bmi1.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-bmi2.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-clflushopt.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-clzero.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-cmov.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-cmpxchg.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-f16c.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-fma.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-fsgsbase.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-lea.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-lzcnt.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-mmx.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-movbe.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-mwaitx.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-pclmul.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-popcnt.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-prefetchw.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-rdrand.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-rdseed.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-sha.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-sse3.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-sse41.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-sse42.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-sse4a.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-ssse3.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-x86_32.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-x86_64.s
    A llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s
    M llvm/test/tools/llvm-mca/X86/bextr-read-after-ld.s
    M llvm/test/tools/llvm-mca/X86/bzhi-read-after-ld.s
    M llvm/test/tools/llvm-mca/X86/cpus.s
    M llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-2.s
    M llvm/test/tools/llvm-mca/X86/read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/read-after-ld-2.s
    M llvm/test/tools/llvm-mca/X86/register-file-statistics.s
    M llvm/test/tools/llvm-mca/X86/scheduler-queue-usage.s
    M llvm/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s
    M llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s

  Log Message:
  -----------
  [X86] AMD Znver2 (Rome) Scheduler enablement

The patch gives out the details of the znver2 scheduler model.
There are few improvements with respect to execution units, latencies and
throughput when compared with znver1.
The tests that were present for znver1 for llvm-mca tool were replicated.
The latencies, execution units, timeline and throughput information are updated for znver2.

Reviewers: craig.topper, Simon Pilgrim

Differential Revision: https://reviews.llvm.org/D66088




More information about the All-commits mailing list