summaryrefslogtreecommitdiff
path: root/inc/id.h
diff options
context:
space:
mode:
authorSiddarth-Suresh <65844402+Siddarth-Suresh@users.noreply.github.com>2025-04-26 20:21:02 -0400
committerSiddarth-Suresh <65844402+Siddarth-Suresh@users.noreply.github.com>2025-04-26 20:21:02 -0400
commit41f612789f652654b5f2fa8c3fee4e348e2081b1 (patch)
tree386658b4231c6c1daa4f2f9769959d0934b2b44e /inc/id.h
parent73633535288711de4850b9d9eec6326eb5de06c0 (diff)
Initial vector extension changes
Diffstat (limited to 'inc/id.h')
-rw-r--r--inc/id.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/inc/id.h b/inc/id.h
index 39485b6..3c9c66b 100644
--- a/inc/id.h
+++ b/inc/id.h
@@ -50,6 +50,12 @@ class ID : public Stage
*/
void write_guard(signed int &r);
+ Response read_vec_guard(signed int r, std::array<signed int, V_R_LIMIT> &v);
+
+ void write_vec_guard(signed int r, std::array<signed int, V_R_LIMIT> &v);
+
+ Response set_vlen();
+
std::vector<int> stage_info() override;
private:
@@ -78,10 +84,10 @@ class ID : public Stage
* @param the resulting third field, which varies per type.
* @param the resulting mnemonic.
*/
- void get_instr_fields(signed int &s1, signed int &s2, signed int &s3, Mnemonic &m);
- void decode_R_type(signed int &s1, signed int &s2, signed int &s3, Mnemonic &m);
- void decode_I_type(signed int &s1, signed int &s2, signed int &s3, Mnemonic &m);
- void decode_J_type(signed int &s1, signed int &s2, signed int &s3, Mnemonic &m);
+ void get_instr_fields(signed int &s1);
+ void decode_R_type(signed int &s1);
+ void decode_I_type(signed int &s1);
+ void decode_J_type(signed int &s1);
/**
* Helper for `get_instr_fields`.
* Given a raw instruction, returns the mnemonic and type.