summaryrefslogtreecommitdiff
path: root/inc/instrDTO.h
diff options
context:
space:
mode:
authorSiddarth Suresh <155843085+SiddarthSuresh98@users.noreply.github.com>2025-05-11 11:51:15 -0400
committerGitHub <noreply@github.com>2025-05-11 11:51:15 -0400
commita35eb451889f0efa99ff7fe1c0a3a76afd5e7ad5 (patch)
tree44205b454c11a2d98711cd3226b4828e12a8479a /inc/instrDTO.h
parentc7132dbc9c38ff766053bd9a0b72c68b23cd08d2 (diff)
parent6f4e9e0b914c3e68691a5d884cbad0b5813fcf18 (diff)
Merge pull request #78 from bdunahu/bdunahu
cleanup/fix existing vector extension
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;
};