projects
/
riscv-isa-sim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
[xcc] minor performance tweaks
[riscv-isa-sim.git]
/
riscv
/
insns
/
srai.h
diff --git
a/riscv/insns/srai.h
b/riscv/insns/srai.h
index 1f0dde2acddfa386733c04b0479f84b2b69f86d5..bb17d2767c6533d3be35c6069d802b53af7fb22b 100644
(file)
--- a/
riscv/insns/srai.h
+++ b/
riscv/insns/srai.h
@@
-1,2
+1,8
@@
-require64;
-RD = sreg_t(RS1) >> SHAMT;
+if(xpr64)
+ RD = sreg_t(RS1) >> SHAMT;
+else
+{
+ if(SHAMT & 0x20)
+ throw trap_illegal_instruction;
+ RD = sext32(int32_t(RS1) >> SHAMT);
+}