[all-commits] [llvm/llvm-project] 227678: [NFC][X86][MCA] AMD Zen 3: add tests with eliminat...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Fri May 7 03:56:54 PDT 2021


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

  Changed paths:
    A llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-gpr.s

  Log Message:
  -----------
  [NFC][X86][MCA] AMD Zen 3: add tests with eliminatible GPR moves


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

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver3.td
    M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-gpr.s

  Log Message:
  -----------
  [X86] AMD Zen 3: 32/64 -bit GPR register moves are zero-cycle

I've verified this with llvm-exegesis.
This is not limited to zero registers.

Refs:
AMD SOG 19h, 2.9.4 Zero Cycle Move
The processor is able to execute certain register to register
mov operations with zero cycle delay.

Agner,
22.13 Instructions with no latency
Register-to-register move instructions are resolved at
the register rename stage without using any execution units.
These instructions have zero latency. It is possible to do six such
register renamings per clock cycle, and it is even possible to
rename the same register multiple times in one clock cycle.


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

  Changed paths:
    A llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-mmx.s

  Log Message:
  -----------
  [NFC][X86][MCA] AMD Zen 3: add tests with non-eliminatible MMX moves

In Zen3, MMX moves are *not* eliminated,
i've verified this with llvm-exegesis.


Compare: https://github.com/llvm/llvm-project/compare/0791f968fee2...bda9ca3e44c1


More information about the All-commits mailing list