summaryrefslogtreecommitdiff
path: root/inc/ex.h
diff options
context:
space:
mode:
authorSiddarth Suresh <155843085+SiddarthSuresh98@users.noreply.github.com>2025-05-11 23:39:06 -0400
committerGitHub <noreply@github.com>2025-05-11 23:39:06 -0400
commitf02bea04284d33a2d014f636baa6a861b73f6c41 (patch)
treece89a55af60b01f6b4129d7539d07c08bfaa1b9a /inc/ex.h
parenta35eb451889f0efa99ff7fe1c0a3a76afd5e7ad5 (diff)
parent43588597069587f6846a7d64a1957435bec5429d (diff)
Merge pull request #79 from bdunahu/bdunahuHEADmaster
Replace LOADV, STOREV, with strided load (SRDL), strided store (SRDS), add vector rotate (ROTV)
Diffstat (limited to 'inc/ex.h')
-rw-r--r--inc/ex.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/inc/ex.h b/inc/ex.h
index ff4041b..64eecb7 100644
--- a/inc/ex.h
+++ b/inc/ex.h
@@ -78,7 +78,6 @@ class EX : public Stage
* Handles operations involving three vector registers.
* @param slot 1, and later, the result of the mnemonic operation.
* @param slot 2
- * @param slot 3
* @param the mnemonic
* @param the vector length register
*/
@@ -89,14 +88,17 @@ class EX : public Stage
unsigned int v_len);
/**
- * Handles operations involving a single vector register.
- * Currently, this is LOADV and STOREV
+ * Handles operations involving a vector result and a scalar.
* @param slot 1, and later, the result of the mnemonic operation.
* @param slot 2
* @param the mnemonic
* @param the vector length register
*/
- void handle_i_vector_operations(signed int &s1, signed int s2, Mnemonic m);
+ void handle_s_vector_operations(
+ std::array<signed int, V_R_LIMIT> &s1,
+ signed int s2,
+ Mnemonic m,
+ unsigned int v_len);
/**
* Wrapper for division functions, which detects HALT instructinos (division
* by 0).