Closed mmdriley closed 5 years ago
@asteinha this is ready for a look. Apologies for the large diff; here's one review strategy:
First, use "changes from" to review the cleanups separately. That's only ~15 lines but they might distract from the main review.
Then, in the main commit, a useful order might be:
demos/asm/README.md
and measurereadlatency.h
.S
files for aarch64
, ppc64le
, and x86_64
.S
file for x86
, which is just a 32-bit-ification of the x86_64
version.asm
files, which are just copies of the corresponding .S
files with most comments removed and one or two ABI tweaks.CMakeLists.txt
changes to build the assemblyMeasureReadLatency
If the review starts feeling like a slog, let me know and I can split it up into different PRs. For example, I can bring things in one architecture at a time, then put in one last PR to build it and swap out the implementation.
Thank you for the review!
Rebased on #98 so we can make sure tests pass.
Some of my rationale is in
demos/asm/README.md
, but the highlights are:LFence()
that was implemented onaarch64
andppc64le
.This PR adds the assembly implementations with accompanying README, wires them up to be built, and rewrites callers to use them. There are also a couple of cleanup commits bundled in.
Some functions in
instr.cc
were left orphaned after this, so I removed them.