[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