summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/reg_class.hh24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/cpu/reg_class.hh b/src/cpu/reg_class.hh
index bd49d15b0..e71e938bf 100644
--- a/src/cpu/reg_class.hh
+++ b/src/cpu/reg_class.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2018 ARM Limited
+ * Copyright (c) 2016-2019 ARM Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
@@ -88,21 +88,21 @@ class RegId {
friend struct std::hash<RegId>;
public:
- RegId() : regClass(IntRegClass), regIdx(0), elemIdx(-1) {}
+ RegId() : RegId(IntRegClass, 0) {}
+
RegId(RegClass reg_class, RegIndex reg_idx)
- : regClass(reg_class), regIdx(reg_idx), elemIdx(-1),
- numPinnedWrites(0)
- {
- panic_if(regClass == VecElemClass,
- "Creating vector physical index w/o element index");
- }
+ : RegId(reg_class, reg_idx, ILLEGAL_ELEM_INDEX) {}
explicit RegId(RegClass reg_class, RegIndex reg_idx, ElemIndex elem_idx)
: regClass(reg_class), regIdx(reg_idx), elemIdx(elem_idx),
- numPinnedWrites(0)
- {
- panic_if(regClass != VecElemClass,
- "Creating non-vector physical index w/ element index");
+ numPinnedWrites(0) {
+ if (elemIdx == ILLEGAL_ELEM_INDEX) {
+ panic_if(regClass == VecElemClass,
+ "Creating vector physical index w/o element index");
+ } else {
+ panic_if(regClass != VecElemClass,
+ "Creating non-vector physical index w/ element index");
+ }
}
bool operator==(const RegId& that) const {