[all-commits] [llvm/llvm-project] 6c4596: [NFC][X86][MCA] AMD Zen 3: add same-reg SSE XMM XO...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Thu May 13 14:04:12 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c4596793d43703923552e791716a3d511e28fe0
      https://github.com/llvm/llvm-project/commit/6c4596793d43703923552e791716a3d511e28fe0
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-05-14 (Fri, 14 May 2021)

  Changed paths:
    A llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-sse-xmm.s

  Log Message:
  -----------
  [NFC][X86][MCA] AMD Zen 3: add same-reg SSE XMM XORPS test


  Commit: aa0dcb3ba4b93e4499208def080ced98f3a89ad5
      https://github.com/llvm/llvm-project/commit/aa0dcb3ba4b93e4499208def080ced98f3a89ad5
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-05-14 (Fri, 14 May 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver3.td
    M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-sse-xmm.s

  Log Message:
  -----------
  [X86] AMD Zen 3: same-reg SSE XMM XORPS is a 1-cycle(!) dep-breaking one-idiom

While both the SOG and Agner insist that it is zero-cycle,
i can not confirm that claim. While it clearly breaks the dependency,
i can not come up with a snippet, or measurement approach,
to end up with IPC bigger than 4, which, to me, means that it actually
consumes execution resource of an FP unit for a cycle.


  Commit: 6b95fd199d96e3ba5c28a23b17b74203522bdaa8
      https://github.com/llvm/llvm-project/commit/6b95fd199d96e3ba5c28a23b17b74203522bdaa8
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-05-14 (Fri, 14 May 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/interleaved-load-i8.ll
    M llvm/test/Analysis/CostModel/X86/interleaved-store-i8.ll

  Log Message:
  -----------
  Revert "[X86] X86TTIImpl::getInterleavedMemoryOpCostAVX2(): use getMemoryOpCost()"

Depends on a commit that is about to be reverted.

This reverts commit 69ed93a4355123a45c1d7216aea7cd53d07a361b.


  Commit: 5fddc3312bad7e62493f1605385fad5e589e6450
      https://github.com/llvm/llvm-project/commit/5fddc3312bad7e62493f1605385fad5e589e6450
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-05-14 (Fri, 14 May 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-3.ll
    M llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-3.ll
    M llvm/test/Analysis/CostModel/X86/load_store.ll

  Log Message:
  -----------
  Revert "[X86][CostModel] X86TTIImpl::getMemoryOpCost(): rewrite vector handling again"

As reported in post-commit feedback, this has issues with e.g. <16 x i1>:
https://llvm.godbolt.org/z/jxPvdGEW4

This reverts commit c02476f3158f2908ef0a6f628210b5380bd33695.


Compare: https://github.com/llvm/llvm-project/compare/f97d970a49fb...5fddc3312bad


More information about the All-commits mailing list