diff options
author | rbuchner <ryan.buchner@arilinc.com> | 2024-03-11 22:51:10 -0700 |
---|---|---|
committer | rbuchner <ryan.buchner@arilinc.com> | 2024-03-11 22:51:12 -0700 |
commit | a9831b437729b2c5a46faf868c7c5c30ab842ca3 (patch) | |
tree | 90bc2f0f738a6c0b64ee524ad4dffa9e5b192d9c /riscv | |
parent | 002d2733ce31c2e3c06afff4f9df755f61099443 (diff) | |
download | spike-a9831b437729b2c5a46faf868c7c5c30ab842ca3.zip spike-a9831b437729b2c5a46faf868c7c5c30ab842ca3.tar.gz spike-a9831b437729b2c5a46faf868c7c5c30ab842ca3.tar.bz2 |
Update vcompress.vm to not write vstart with 0 upon completion
Vmcompress.vm requires vstart==0, so writing vstart with 0 is redundant.
To do this, spin off VI_LOOP_END_BASE from VI_LOOP_END. VI_LOOP_END
will contain VI_LOOP_END_BASE as well as a write of 0 to vstart.
See #1623 for full discussion.
Diffstat (limited to 'riscv')
-rw-r--r-- | riscv/insns/vcompress_vm.h | 2 | ||||
-rw-r--r-- | riscv/v_ext_macros.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/riscv/insns/vcompress_vm.h b/riscv/insns/vcompress_vm.h index 7195345..d35b8ba 100644 --- a/riscv/insns/vcompress_vm.h +++ b/riscv/insns/vcompress_vm.h @@ -30,4 +30,4 @@ VI_GENERAL_LOOP_BASE ++pos; } -VI_LOOP_END; +VI_LOOP_END_BASE; diff --git a/riscv/v_ext_macros.h b/riscv/v_ext_macros.h index b198d54..42d723a 100644 --- a/riscv/v_ext_macros.h +++ b/riscv/v_ext_macros.h @@ -215,8 +215,11 @@ static inline bool is_overlapped_widen(const int astart, int asize, VI_GENERAL_LOOP_BASE \ VI_LOOP_ELEMENT_SKIP(); +#define VI_LOOP_END_BASE \ + } + #define VI_LOOP_END \ - } \ + VI_LOOP_END_BASE \ P.VU.vstart->write(0); #define VI_LOOP_REDUCTION_END(x) \ |