2c2
< * Copyright (c) 2011 ARM Limited
---
> * Copyright (c) 2011, 2016 ARM Limited
55a56
> #include "cpu/inst_res.hh"
146,154d146
< union Result {
< uint64_t integer;
< double dbl;
< void set(uint64_t i) { integer = i; }
< void set(double d) { dbl = d; }
< void get(uint64_t& i) { i = integer; }
< void get(double& d) { d = dbl; }
< };
<
157c149
< std::queue<Result> result;
---
> std::queue<InstResult> result;
243,244c235,236
< template <class T>
< void setResult(T t)
---
> template<typename T>
> void setScalarResult(T&& t)
246,248c238,239
< Result instRes;
< instRes.set(t);
< result.push(instRes);
---
> result.push(InstResult(std::forward<T>(t),
> InstResult::ResultType::Scalar));
257c248
< setResult<uint64_t>(val);
---
> setScalarResult(val);
266c257
< setResult<double>(val);
---
> setScalarResult(val);
275c266
< setResult<uint64_t>(val);
---
> setScalarResult(val);
283c274
< setResult<uint64_t>(val);
---
> setScalarResult((uint64_t)val);
425c416
< Result unverifiedResult;
---
> InstResult unverifiedResult;
467c458,459
< void copyResult(DynInstPtr &inst, uint64_t mismatch_val, int start_idx);
---
> void copyResult(DynInstPtr &inst, const InstResult& mismatch_val,
> int start_idx);