diff options
| author | Clement Courbet <courbet@google.com> | 2018-07-05 13:54:51 +0000 |
|---|---|---|
| committer | Clement Courbet <courbet@google.com> | 2018-07-05 13:54:51 +0000 |
| commit | f9a0bb330d8bb029d01ffe3d2e8fc0049b54ae0a (patch) | |
| tree | fa9cb38e81aee40fd69992efdb3a358394fbc6d6 /llvm/tools/llvm-exegesis/lib/Uops.cpp | |
| parent | 9e987e09174b9f56ddc30a6aae87dc3a7b797209 (diff) | |
| download | bcm5719-llvm-f9a0bb330d8bb029d01ffe3d2e8fc0049b54ae0a.tar.gz bcm5719-llvm-f9a0bb330d8bb029d01ffe3d2e8fc0049b54ae0a.zip | |
[llvm-exegesis] Add uop computation for more X87 instruction classes.
Summary:
This allows measuring comparisons (UCOM_FpIr32,UCOM_Fpr32,...),
conditional moves (CMOVBE_Fp32,...)
Reviewers: gchatelet
Subscribers: tschuett, llvm-commits
Differential Revision: https://reviews.llvm.org/D48713
llvm-svn: 336352
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/Uops.cpp')
| -rw-r--r-- | llvm/tools/llvm-exegesis/lib/Uops.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/Uops.cpp b/llvm/tools/llvm-exegesis/lib/Uops.cpp index 0125b6cb099..897f1080888 100644 --- a/llvm/tools/llvm-exegesis/lib/Uops.cpp +++ b/llvm/tools/llvm-exegesis/lib/Uops.cpp @@ -139,16 +139,10 @@ UopsBenchmarkRunner::generatePrototype(unsigned Opcode) const { const Instruction Instr(InstrDesc, RATC); const AliasingConfigurations SelfAliasing(Instr, Instr); if (SelfAliasing.empty()) { - SnippetPrototype Prototype; - Prototype.Explanation = "instruction is parallel, repeating a random one."; - Prototype.Snippet.emplace_back(Instr); - return std::move(Prototype); + return generateUnconstrainedPrototype(Instr, "instruction is parallel"); } if (SelfAliasing.hasImplicitAliasing()) { - SnippetPrototype Prototype; - Prototype.Explanation = "instruction is serial, repeating a random one."; - Prototype.Snippet.emplace_back(Instr); - return std::move(Prototype); + return generateUnconstrainedPrototype(Instr, "instruction is serial"); } const auto TiedVariables = getTiedVariables(Instr); if (!TiedVariables.empty()) { |

