This is an archive of the discontinued LLVM Phabricator instance.

[llvm-exegesis] Add uop computation for more X87 instruction classes.
ClosedPublic

Authored by courbet on Jun 28 2018, 2:26 AM.

Details

Summary

This allows measuring comparisons (UCOM_FpIr32,UCOM_Fpr32,...),
conditional moves (CMOVBE_Fp32,...)

Diff Detail

Repository
rL LLVM

Event Timeline

courbet created this revision.Jun 28 2018, 2:26 AM
gchatelet added inline comments.Jun 28 2018, 6:54 AM
tools/llvm-exegesis/lib/BenchmarkRunner.cpp
224 ↗(On Diff #153278)

llvm::formatv("{0}, repeating an unconstrained assignment", Msg);

tools/llvm-exegesis/lib/X86/Target.cpp
141 ↗(On Diff #153278)

Explain the magic value.

148 ↗(On Diff #153278)

?

171 ↗(On Diff #153278)

Reg and RegSizeBytes could theoretically be out of sync. Should RegSizeBytes be computed from Reg?

182 ↗(On Diff #153278)

Maybe create a constant for 4 to give it semantic.

199 ↗(On Diff #153278)

fillStackSpace? fillScratchMemory feels too broad and disconnected from allocateStackSpace

courbet updated this revision to Diff 154212.Jul 5 2018, 5:46 AM
courbet marked 5 inline comments as done.

Address review comments.

Thanks, PTAL.

tools/llvm-exegesis/lib/X86/Target.cpp
171 ↗(On Diff #153278)

We could take that RegClass and do RegClass.MC.RegsSize, but is feels awkward.

courbet updated this revision to Diff 154214.Jul 5 2018, 5:47 AM

clang-format

gchatelet accepted this revision.Jul 5 2018, 5:57 AM
This revision is now accepted and ready to land.Jul 5 2018, 5:57 AM
This revision was automatically updated to reflect the committed changes.