summaryrefslogtreecommitdiff
path: root/src/mm.cc
diff options
context:
space:
mode:
authorSiddarth Suresh <155843085+SiddarthSuresh98@users.noreply.github.com>2025-05-11 11:51:15 -0400
committerGitHub <noreply@github.com>2025-05-11 11:51:15 -0400
commita35eb451889f0efa99ff7fe1c0a3a76afd5e7ad5 (patch)
tree44205b454c11a2d98711cd3226b4828e12a8479a /src/mm.cc
parentc7132dbc9c38ff766053bd9a0b72c68b23cd08d2 (diff)
parent6f4e9e0b914c3e68691a5d884cbad0b5813fcf18 (diff)
Merge pull request #78 from bdunahu/bdunahu
cleanup/fix existing vector extension
Diffstat (limited to 'src/mm.cc')
-rw-r--r--src/mm.cc52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/mm.cc b/src/mm.cc
index 8134cf5..ac77433 100644
--- a/src/mm.cc
+++ b/src/mm.cc
@@ -24,7 +24,6 @@ void MM::advance_helper()
{
signed int data;
int i;
- int vector_delay = VECTOR_MEM_DELAY;
switch (this->curr_instr->mnemonic) {
case LOAD:
@@ -36,32 +35,6 @@ void MM::advance_helper()
} else
this->status = STALLED;
break;
- case LOADV:
- if (vector_delay == 0){
- signed int word_address = this->curr_instr->operands.load_store_vector.base_addr;
- int j = 0;
- while(j < this->curr_instr->slot_A){
- i = this->storage->read_word(this, word_address, data);
- this->status = i ? OK : STALLED;
- if (this->status == OK) {
- this->curr_instr->operands.load_store_vector.vector_register[j] = data;
- // +1 or +4?
- word_address += 1;
- j++;
- } else {
- break;
- }
- }
- if(this->status == OK){
- // if vector is loaded, reset delay
- vector_delay = VECTOR_MEM_DELAY;
- } else {
- this->status = STALLED;
- }
- } else {
- vector_delay--;
- }
- break;
case PUSH:
case STORE:
@@ -73,31 +46,6 @@ void MM::advance_helper()
this->status = STALLED;
}
break;
- case STOREV:
- if (vector_delay == 0){
- signed int word_address = this->curr_instr->operands.load_store_vector.base_addr;
- int j = 0;
- while(j < this->curr_instr->slot_A){
- this->storage->write_word(
- this, this->curr_instr->operands.load_store_vector.vector_register[j], word_address);
- this->status = i ? OK : STALLED;
- if (this->status != OK) {
- break;
- } else {
- word_address += 1;
- j++;
- }
- }
- if(this->status == OK){
- // if vector is stored , reset delay
- vector_delay = VECTOR_MEM_DELAY;
- } else {
- this->status = STALLED;
- }
- } else {
- vector_delay--;
- }
- break;
case POP:
i = this->storage->read_word(this, this->curr_instr->operands.integer.slot_three, data);