diff options
author | Gabe Black <gabeblack@google.com> | 2017-12-13 00:53:34 -0800 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2017-12-13 23:51:59 +0000 |
commit | f6486a1bbe7714850980b9669d44ef8dec343a2a (patch) | |
tree | 8b782bd047fb997f1bd6c3dd8cdc8e39de288c92 /src/sim | |
parent | 93a168c25e5bb396ee749d25a2ab80ce7bec1764 (diff) | |
download | gem5-f6486a1bbe7714850980b9669d44ef8dec343a2a.tar.xz |
arm,sparc,x86,base,cpu,sim: Replace the Twin(32|64)_t types with.
Replace them with std::array<>s.
Change-Id: I76624c87a1cd9b21c386a96147a18de92b8a8a34
Reviewed-on: https://gem5-review.googlesource.com/6602
Maintainer: Gabe Black <gabeblack@google.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/byteswap.hh | 17 | ||||
-rw-r--r-- | src/sim/insttracer.hh | 16 |
2 files changed, 12 insertions, 21 deletions
diff --git a/src/sim/byteswap.hh b/src/sim/byteswap.hh index 02a053308..2c3517f24 100644 --- a/src/sim/byteswap.hh +++ b/src/sim/byteswap.hh @@ -37,7 +37,6 @@ #ifndef __SIM_BYTE_SWAP_HH__ #define __SIM_BYTE_SWAP_HH__ -#include "base/bigint.hh" #include "base/types.hh" // This lets us figure out what the byte order of the host system is @@ -123,22 +122,6 @@ inline T swap_byte(T x) { panic("Can't byte-swap values larger than 64 bits"); } -template<> -inline Twin64_t swap_byte<Twin64_t>(Twin64_t x) -{ - x.a = swap_byte(x.a); - x.b = swap_byte(x.b); - return x; -} - -template<> -inline Twin32_t swap_byte<Twin32_t>(Twin32_t x) -{ - x.a = swap_byte(x.a); - x.b = swap_byte(x.b); - return x; -} - template <typename T, size_t N> inline std::array<T, N> swap_byte(std::array<T, N> a) diff --git a/src/sim/insttracer.hh b/src/sim/insttracer.hh index caeee520d..d57f5a04d 100644 --- a/src/sim/insttracer.hh +++ b/src/sim/insttracer.hh @@ -44,7 +44,6 @@ #ifndef __INSTRECORD_HH__ #define __INSTRECORD_HH__ -#include "base/bigint.hh" #include "base/types.hh" #include "cpu/inst_seq.hh" #include "cpu/static_inst.hh" @@ -113,7 +112,7 @@ class InstRecord /** @ingroup data * What size of data was written? */ - enum { + enum DataStatus { DataInvalid = 0, DataInt8 = 1, // set to equal number of bytes DataInt16 = 2, @@ -159,8 +158,17 @@ class InstRecord addr = a; size = s; flags = f; mem_valid = true; } - void setData(Twin64_t d) { data.as_int = d.a; data_status = DataInt64; } - void setData(Twin32_t d) { data.as_int = d.a; data_status = DataInt32; } + template <typename T, size_t N> + void + setData(std::array<T, N> d) + { + data.as_int = d[0]; + data_status = (DataStatus)sizeof(T); + static_assert(sizeof(T) == DataInt8 || sizeof(T) == DataInt16 || + sizeof(T) == DataInt32 || sizeof(T) == DataInt64, + "Type T has an unrecognized size."); + } + void setData(uint64_t d) { data.as_int = d; data_status = DataInt64; } void setData(uint32_t d) { data.as_int = d; data_status = DataInt32; } void setData(uint16_t d) { data.as_int = d; data_status = DataInt16; } |