diff options
author | bd <bdunahu@operationnull.com> | 2025-05-10 22:28:01 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-05-10 22:28:01 -0400 |
commit | 6f4e9e0b914c3e68691a5d884cbad0b5813fcf18 (patch) | |
tree | 44205b454c11a2d98711cd3226b4828e12a8479a /inc | |
parent | 2269a338f9e5ad7a29bef5ff73bbb4d72489a92e (diff) |
Fix bug where too many vector elements were written back
Diffstat (limited to 'inc')
-rw-r--r-- | inc/wb.h | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -24,8 +24,8 @@ class WB : public Stage { public: - using Stage::Stage; using Stage::advance; + using Stage::Stage; private: void advance_helper() override; @@ -47,6 +47,13 @@ class WB : public Stage * STORE. */ bool should_jump(); + /** + * @return the vector register to be stored, obtained by copying the + * unfilled elements in the destination register to the source. This is + * required to ensure what is written back only changes VECTOR_LENGTH number + * of elements. + */ + std::array<signed int, V_R_LIMIT> copy_extra_vector_elements(); }; #endif /* WB_H_INCLUDED */ |