diff options
author | Siddarth Suresh <155843085+SiddarthSuresh98@users.noreply.github.com> | 2025-05-11 23:39:06 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-11 23:39:06 -0400 |
commit | f02bea04284d33a2d014f636baa6a861b73f6c41 (patch) | |
tree | ce89a55af60b01f6b4129d7539d07c08bfaa1b9a /inc/ex.h | |
parent | a35eb451889f0efa99ff7fe1c0a3a76afd5e7ad5 (diff) | |
parent | 43588597069587f6846a7d64a1957435bec5429d (diff) |
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.h | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -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). |