sim: Don't needlessly recreate ISA types in InstRecord.

The ISAs already define fully realized types. We don't need to
separately track what parameters they used and then feed them into the
same templates again elsewhere.

Change-Id: Iac18bb9374ff684259c6aa00036eac4d1026dcfc
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42002
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Gabe Black
2021-02-26 21:27:57 -08:00
parent 669d2c48f2
commit eb7d3b6b6c

View File

@@ -95,9 +95,8 @@ class InstRecord
{
uint64_t as_int;
double as_double;
::VecRegContainer<TheISA::VecRegSizeBytes>* as_vec;
::VecPredRegContainer<TheISA::VecPredRegSizeBits,
TheISA::VecPredRegHasPackedRepr>* as_pred;
TheISA::VecRegContainer* as_vec;
TheISA::VecPredRegContainer* as_pred;
} data;
/** @defgroup fetch_seq
@@ -204,18 +203,16 @@ class InstRecord
void setData(double d) { data.as_double = d; data_status = DataDouble; }
void
setData(::VecRegContainer<TheISA::VecRegSizeBytes>& d)
setData(TheISA::VecRegContainer& d)
{
data.as_vec = new ::VecRegContainer<TheISA::VecRegSizeBytes>(d);
data.as_vec = new TheISA::VecRegContainer(d);
data_status = DataVec;
}
void
setData(::VecPredRegContainer<TheISA::VecPredRegSizeBits,
TheISA::VecPredRegHasPackedRepr>& d)
setData(TheISA::VecPredRegContainer& d)
{
data.as_pred = new ::VecPredRegContainer<
TheISA::VecPredRegSizeBits, TheISA::VecPredRegHasPackedRepr>(d);
data.as_pred = new TheISA::VecPredRegContainer(d);
data_status = DataVecPred;
}