summaryrefslogtreecommitdiff
path: root/inc/instrDTO.h
diff options
context:
space:
mode:
Diffstat (limited to 'inc/instrDTO.h')
-rw-r--r--inc/instrDTO.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/inc/instrDTO.h b/inc/instrDTO.h
index f3d4597..ccc6ed9 100644
--- a/inc/instrDTO.h
+++ b/inc/instrDTO.h
@@ -19,7 +19,8 @@
#define INSTRDTO_H
#include "instr.h"
#include "pipe_spec.h"
-#include<array>
+#include <array>
+
struct U_INT_TYPE {
signed int slot_one;
@@ -33,10 +34,10 @@ struct V_TYPE {
std::array<signed int, V_R_LIMIT> slot_three;
};
-struct LOAD_STORE_V_TYPE{
- signed int base_addr;
- signed int immediate;
- std::array<signed int, V_R_LIMIT> vector_register;
+struct VI_TYPE {
+ signed int slot_one;
+ signed int slot_two;
+ std::array<signed int, V_R_LIMIT> slot_three;
};
struct InstrDTO {
@@ -60,10 +61,14 @@ struct InstrDTO {
* The register this instruction checks out.
*/
signed int checked_out;
+ /**
+ * The currently active union member.
+ */
+ FieldType type;
union {
struct U_INT_TYPE integer;
struct V_TYPE vector;
- struct LOAD_STORE_V_TYPE load_store_vector;
+ struct VI_TYPE i_vector;
} operands;
};