aboutsummaryrefslogtreecommitdiff
path: root/tests/framework/instruments/PMUCounter.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/framework/instruments/PMUCounter.h')
-rw-r--r--tests/framework/instruments/PMUCounter.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/framework/instruments/PMUCounter.h b/tests/framework/instruments/PMUCounter.h
index 7beb6d931d..e1b9433eda 100644
--- a/tests/framework/instruments/PMUCounter.h
+++ b/tests/framework/instruments/PMUCounter.h
@@ -37,6 +37,27 @@ namespace framework
class PMUCounter : public Instrument
{
public:
+ PMUCounter(ScaleFactor scale_factor)
+ {
+ switch(scale_factor)
+ {
+ case ScaleFactor::NONE:
+ _scale_factor = 1;
+ _unit = "";
+ break;
+ case ScaleFactor::SCALE_1K:
+ _scale_factor = 1000;
+ _unit = "K ";
+ break;
+ case ScaleFactor::SCALE_1M:
+ _scale_factor = 1000000;
+ _unit = "M ";
+ break;
+ default:
+ ARM_COMPUTE_ERROR("Invalid scale");
+ }
+ };
+
std::string id() const override;
void start() override;
void stop() override;
@@ -47,6 +68,7 @@ private:
PMU _pmu_instructions{ PERF_COUNT_HW_INSTRUCTIONS };
long long _cycles{ 0 };
long long _instructions{ 0 };
+ int _scale_factor{};
};
} // namespace framework
} // namespace test