diff options
author | Andrew Waterman <waterman@eecs.berkeley.edu> | 2012-02-19 23:18:58 -0800 |
---|---|---|
committer | Andrew Waterman <waterman@eecs.berkeley.edu> | 2012-02-19 23:18:58 -0800 |
commit | cbaa604cda1c93357e7c08b4aeb9b36c6601c2b7 (patch) | |
tree | c05bdce77d8af0a467fb86d97b63d4cec9f3ffdc | |
parent | 1536af0c020ef41859ad52a79ffeda0b43514718 (diff) | |
download | spike-cbaa604cda1c93357e7c08b4aeb9b36c6601c2b7.zip spike-cbaa604cda1c93357e7c08b4aeb9b36c6601c2b7.tar.gz spike-cbaa604cda1c93357e7c08b4aeb9b36c6601c2b7.tar.bz2 |
fixed a bug in remu[w]
it was actually caught by the ASM tests... :(
-rw-r--r-- | riscv/insns/remu.h | 2 | ||||
-rw-r--r-- | riscv/insns/remuw.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/riscv/insns/remu.h b/riscv/insns/remu.h index ca66318..1057789 100644 --- a/riscv/insns/remu.h +++ b/riscv/insns/remu.h @@ -1,6 +1,6 @@ reg_t lhs = zext_xprlen(RS1); reg_t rhs = zext_xprlen(RS2); if(rhs == 0) - RD = lhs; + RD = sext_xprlen(RS1); else RD = sext_xprlen(lhs % rhs); diff --git a/riscv/insns/remuw.h b/riscv/insns/remuw.h index aac13fb..1ef810c 100644 --- a/riscv/insns/remuw.h +++ b/riscv/insns/remuw.h @@ -2,6 +2,6 @@ require_xpr64; reg_t lhs = zext32(RS1); reg_t rhs = zext32(RS2); if(rhs == 0) - RD = lhs; + RD = sext32(lhs); else RD = sext32(lhs % rhs); |