diff options
author | Jan Henrik Weinstock <janweinstock@users.noreply.github.com> | 2023-01-16 19:17:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-16 18:17:38 +0000 |
commit | 5a10838c087ec5140d20f89fcb56237df5ca04fd (patch) | |
tree | e2f7fcba1915d632953f445e3f5739f48aaeb2a8 | |
parent | 4d05aa1698a0003a4f6f99e1380c743711c32052 (diff) | |
download | sail-riscv-5a10838c087ec5140d20f89fcb56237df5ca04fd.zip sail-riscv-5a10838c087ec5140d20f89fcb56237df5ca04fd.tar.gz sail-riscv-5a10838c087ec5140d20f89fcb56237df5ca04fd.tar.bz2 |
Fix xperm4 index calculation (#186)
Signed-off-by: Jan Henrik Weinstock <jan@mwa.re>
Signed-off-by: Jan Henrik Weinstock <jan@mwa.re>
-rw-r--r-- | model/riscv_insts_zbkx.sail | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/model/riscv_insts_zbkx.sail b/model/riscv_insts_zbkx.sail index 890facf..0a155c2 100644 --- a/model/riscv_insts_zbkx.sail +++ b/model/riscv_insts_zbkx.sail @@ -36,8 +36,8 @@ function clause execute (RISCV_XPERM4(rs2, rs1, rd)) = { result : xlenbits = zeros(); foreach (i from 0 to (sizeof(xlen) - 4) by 4) { let index = unsigned(rs2_val[i+3..i]); - result[i+3..i] = if 8*index < sizeof(xlen) - then rs1_val[8*index+3..8*index] + result[i+3..i] = if 4*index < sizeof(xlen) + then rs1_val[4*index+3..4*index] else zeros() }; X(rd) = result; |