From 6f4e9e0b914c3e68691a5d884cbad0b5813fcf18 Mon Sep 17 00:00:00 2001 From: bd Date: Sat, 10 May 2025 22:28:01 -0400 Subject: Fix bug where too many vector elements were written back --- inc/wb.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'inc/wb.h') diff --git a/inc/wb.h b/inc/wb.h index d3a1b93..35c9240 100644 --- a/inc/wb.h +++ b/inc/wb.h @@ -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 copy_extra_vector_elements(); }; #endif /* WB_H_INCLUDED */ -- cgit v1.2.3