diff options
| author | Aaron Barnes <[email protected]> | 2021-05-10 15:05:06 -0400 |
|---|---|---|
| committer | Aaron Barnes <[email protected]> | 2021-05-10 15:05:06 -0400 |
| commit | fa76ab438b0b8c2d2e8abf5f395c7a98a3d5fd9b (patch) | |
| tree | c39f5b560b0d001c391ed4f63fd168b50e195d66 /src/abstract_hardware_model.h | |
| parent | b67288046af824a88f8bb94541ded14cc711ef35 (diff) | |
sub core model dispatches only to assigned exec pipelines
Diffstat (limited to 'src/abstract_hardware_model.h')
| -rw-r--r-- | src/abstract_hardware_model.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/abstract_hardware_model.h b/src/abstract_hardware_model.h index ba32358..d70c3eb 100644 --- a/src/abstract_hardware_model.h +++ b/src/abstract_hardware_model.h @@ -1346,6 +1346,17 @@ class register_set { // void copy_in( warp_inst_t* src ){ // src->copy_contents_to(*get_free()); //} + void move_in(bool sub_core_model, unsigned reg_id, warp_inst_t *&src) { + warp_inst_t **free; + if (!sub_core_model) { + free = get_free(); + } else { + assert(reg_id < regs.size()); + free = get_free(sub_core_model, reg_id); + } + move_warp(*free, src); + } + void move_out_to(warp_inst_t *&dest) { warp_inst_t **ready = get_ready(); move_warp(dest, *ready); |
