arch: Add vector function unit and OpClass enums
These enums are needed for risc-v vector extension Change-Id: Ia61682c43c89ac2043fb9d1d5c349dfd646fb88d Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67293 Tested-by: kokoro <noreply+kokoro@google.com> Maintainer: Bobby Bruce <bbruce@ucdavis.edu> Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu> Reviewed-by: Roger Chang <rogerycchang@google.com>
This commit is contained in:
@@ -98,6 +98,25 @@ class OpClass(Enum):
|
||||
"FloatMemWrite",
|
||||
"IprAccess",
|
||||
"InstPrefetch",
|
||||
"VectorUnitStrideLoad",
|
||||
"VectorUnitStrideStore",
|
||||
"VectorUnitStrideMaskLoad",
|
||||
"VectorUnitStrideMaskStore",
|
||||
"VectorStridedLoad",
|
||||
"VectorStridedStore",
|
||||
"VectorIndexedLoad",
|
||||
"VectorIndexedStore",
|
||||
"VectorUnitStrideFaultOnlyFirstLoad",
|
||||
"VectorWholeRegisterLoad",
|
||||
"VectorWholeRegisterStore",
|
||||
"VectorIntegerArith",
|
||||
"VectorFloatArith",
|
||||
"VectorFloatConvert",
|
||||
"VectorIntegerReduce",
|
||||
"VectorFloatReduce",
|
||||
"VectorMisc",
|
||||
"VectorIntegerExtension",
|
||||
"VectorConfig",
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -108,6 +108,30 @@ static const OpClass FloatMemReadOp = enums::FloatMemRead;
|
||||
static const OpClass FloatMemWriteOp = enums::FloatMemWrite;
|
||||
static const OpClass IprAccessOp = enums::IprAccess;
|
||||
static const OpClass InstPrefetchOp = enums::InstPrefetch;
|
||||
static const OpClass VectorUnitStrideLoadOp = enums::VectorUnitStrideLoad;
|
||||
static const OpClass VectorUnitStrideStoreOp = enums::VectorUnitStrideStore;
|
||||
static const OpClass VectorUnitStrideMaskLoadOp
|
||||
= enums::VectorUnitStrideMaskLoad;
|
||||
static const OpClass VectorUnitStrideMaskStoreOp
|
||||
= enums::VectorUnitStrideMaskStore;
|
||||
static const OpClass VectorStridedLoadOp = enums::VectorStridedLoad;
|
||||
static const OpClass VectorStridedStoreOp = enums::VectorStridedStore;
|
||||
static const OpClass VectorIndexedLoadOp = enums::VectorIndexedLoad;
|
||||
static const OpClass VectorIndexedStoreOp = enums::VectorIndexedStore;
|
||||
static const OpClass VectorUnitStrideFaultOnlyFirstLoadOp
|
||||
= enums::VectorUnitStrideFaultOnlyFirstLoad;
|
||||
static const OpClass VectorWholeRegisterLoadOp
|
||||
= enums::VectorWholeRegisterLoad;
|
||||
static const OpClass VectorWholeRegisterStoreOp
|
||||
= enums::VectorWholeRegisterStore;
|
||||
static const OpClass VectorIntegerArithOp = enums::VectorIntegerArith;
|
||||
static const OpClass VectorFloatArithOp = enums::VectorFloatArith;
|
||||
static const OpClass VectorFloatConvertOp = enums::VectorFloatConvert;
|
||||
static const OpClass VectorIntegerReduceOp = enums::VectorIntegerReduce;
|
||||
static const OpClass VectorFloatReduceOp = enums::VectorFloatReduce;
|
||||
static const OpClass VectorMiscOp = enums::VectorMisc;
|
||||
static const OpClass VectorIntegerExtensionOp = enums::VectorIntegerExtension;
|
||||
static const OpClass VectorConfigOp = enums::VectorConfig;
|
||||
static const OpClass Num_OpClasses = enums::Num_OpClass;
|
||||
|
||||
} // namespace gem5
|
||||
|
||||
Reference in New Issue
Block a user