From e8dcc8ab28d2d7b7764db95ba611b4d64b5bdade Mon Sep 17 00:00:00 2001 From: Robert Norton Date: Tue, 15 Aug 2017 13:04:34 +0100 Subject: riscv: limit stores to only relevant bytes. --- risc-v/riscv.sail | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/risc-v/riscv.sail b/risc-v/riscv.sail index e464c5f7..01fcbdc4 100644 --- a/risc-v/riscv.sail +++ b/risc-v/riscv.sail @@ -236,9 +236,9 @@ function clause execute (STORE(imm, rs2, rs1, width)) = }; let rs2_val = rGPR(rs2) in switch (width) { - case BYTE -> MEMval(addr, 1, rs2_val) - case WORD -> MEMval(addr, 2, rs2_val) - case HALF -> MEMval(addr, 4, rs2_val) + case BYTE -> MEMval(addr, 1, rs2_val[7..0]) + case WORD -> MEMval(addr, 2, rs2_val[15..0]) + case HALF -> MEMval(addr, 4, rs2_val[31..0]) case DOUBLE -> MEMval(addr, 8, rs2_val) } } -- cgit v1.2.3