From fa319d8d61126f41d88f5eb0dc6d3001b05d0e19 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Fri, 28 Jun 2019 11:12:05 +0100 Subject: [PATCH] remove ssvoffs from SVSTATE --- riscv/processor.cc | 5 +---- riscv/processor.h | 3 +-- riscv/sv.h | 3 +-- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/riscv/processor.cc b/riscv/processor.cc index 84a662d..3b0d395 100644 --- a/riscv/processor.cc +++ b/riscv/processor.cc @@ -526,9 +526,7 @@ reg_t processor_t::set_csr(int which, reg_t val, bool imm_mode) state.sv().srcoffs = std::min(srcoffs , state.sv().vl-1); state.sv().destoffs = std::min(destoffs, state.sv().vl-1); // decode (and limit) src/dest SUBVL offsets - reg_t subsrcoffs = get_field(val, SV_STATE_SSVOFFS); reg_t subdestoffs = get_field(val, SV_STATE_DSVOFFS); - state.sv().ssvoffs = std::min(subsrcoffs , state.sv().subvl-1); state.sv().dsvoffs = std::min(subdestoffs, state.sv().subvl-1); //int state_bank = get_field(val, SV_STATE_BANK); //int state_size = get_field(val, SV_STATE_SIZE); @@ -911,8 +909,7 @@ reg_t processor_t::get_csr(int which) (state.sv().srcoffs<<12) | (state.sv().destoffs<<18) | ((std::max((int)state.sv().subvl, 1)-1)<<24) | - (state.sv().ssvoffs<<26) | - (state.sv().dsvoffs<<28); + (state.sv().dsvoffs<<26); case CSR_SV_MVL: return state.sv().mvl; case CSR_SV_SUBVL: diff --git a/riscv/processor.h b/riscv/processor.h index 4d4bf81..4a4d4fd 100644 --- a/riscv/processor.h +++ b/riscv/processor.h @@ -99,8 +99,7 @@ typedef struct // subvector loop uint64_t subvl; - int dsvoffs; // destination sub-loop element offset - int ssvoffs; // source sub-loop element offset (used in twin-predication) + int dsvoffs; // sub-loop element offset int state_size; int state_bank; diff --git a/riscv/sv.h b/riscv/sv.h index 2a9cf4f..0521df3 100644 --- a/riscv/sv.h +++ b/riscv/sv.h @@ -113,8 +113,7 @@ typedef struct { #define SV_STATE_SRCOFFS (0x1f<<12) #define SV_STATE_DESTOFFS (0x1f<<18) #define SV_STATE_SUBVL (0x3<<24) -#define SV_STATE_SSVOFFS (0x3<<26) -#define SV_STATE_DSVOFFS (0x3<<28) +#define SV_STATE_DSVOFFS (0x3<<26) #define SV_CFG_BANK (0x7) #define SV_CFG_SIZE (0x3<<3) -- 2.30.2