summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-exegesis/lib/Uops.cpp
diff options
context:
space:
mode:
authorClement Courbet <courbet@google.com>2018-07-05 13:54:51 +0000
committerClement Courbet <courbet@google.com>2018-07-05 13:54:51 +0000
commitf9a0bb330d8bb029d01ffe3d2e8fc0049b54ae0a (patch)
treefa9cb38e81aee40fd69992efdb3a358394fbc6d6 /llvm/tools/llvm-exegesis/lib/Uops.cpp
parent9e987e09174b9f56ddc30a6aae87dc3a7b797209 (diff)
downloadbcm5719-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.cpp10
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()) {
OpenPOWER on IntegriCloud