diff options
Diffstat (limited to 'riscv/insns/srai.h')
-rw-r--r-- | riscv/insns/srai.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/riscv/insns/srai.h b/riscv/insns/srai.h new file mode 100644 index 0000000..bb17d27 --- /dev/null +++ b/riscv/insns/srai.h @@ -0,0 +1,8 @@ +if(xpr64) + RD = sreg_t(RS1) >> SHAMT; +else +{ + if(SHAMT & 0x20) + throw trap_illegal_instruction; + RD = sext32(int32_t(RS1) >> SHAMT); +} |