aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Henrik Weinstock <janweinstock@users.noreply.github.com>2023-01-16 19:17:38 +0100
committerGitHub <noreply@github.com>2023-01-16 18:17:38 +0000
commit5a10838c087ec5140d20f89fcb56237df5ca04fd (patch)
treee2f7fcba1915d632953f445e3f5739f48aaeb2a8
parent4d05aa1698a0003a4f6f99e1380c743711c32052 (diff)
downloadsail-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.sail4
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;