diff options
| author | Robert Norton | 2017-08-15 13:04:34 +0100 |
|---|---|---|
| committer | Robert Norton | 2017-08-15 13:04:34 +0100 |
| commit | e8dcc8ab28d2d7b7764db95ba611b4d64b5bdade (patch) | |
| tree | 1a264e245cdebdf9171345025ac79e38144c7f4b /risc-v | |
| parent | 1a94f80b5d518e9d79daf9b253331d5b7936761f (diff) | |
riscv: limit stores to only relevant bytes.
Diffstat (limited to 'risc-v')
| -rw-r--r-- | risc-v/riscv.sail | 6 |
1 files 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) } } |
