D60041 will regress/break CMOV benchmarking.
This at least allows to not crash on the opcode.
However, this still won't generate all the snippets with all the condcode enumerators.
Paths
| Differential D60057
[llvm-exegesis] Handle CMOV's OPERAND_COND_CODE OperandType ClosedPublic Authored by lebedev.ri on Apr 1 2019, 2:04 AM.
Details Summary D60041 will regress/break CMOV benchmarking. This at least allows to not crash on the opcode.
Diff Detail
Event TimelineComment Actions Thanks Roman. I only have a comment regarding documentation.
gchatelet added inline comments.
This revision is now accepted and ready to land.Apr 2 2019, 6:22 AM Closed by commit rL357841: [llvm-exegesis][X86] Handle CMOVcc/SETcc OPERAND_COND_CODE OperandType (authored by lebedevri). · Explain WhyApr 6 2019, 7:14 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 193067 test/tools/llvm-exegesis/X86/latency-CMOV32rr.s
tools/llvm-exegesis/lib/SnippetGenerator.h
tools/llvm-exegesis/lib/SnippetGenerator.cpp
tools/llvm-exegesis/lib/Target.h
tools/llvm-exegesis/lib/Target.cpp
tools/llvm-exegesis/lib/X86/Target.cpp
|
Any advice on how to best produce multiple variants covering all the condcodes?
The obvious solution could be to pass BenchmarkCode to Target hook that would
duplicate it for each of the possible condcodes,
and return vector that would get appended to Output.
Is that on the right track? Anything cleaner?