[xcc] minor performance tweaks
[riscv-isa-sim.git] / riscv / insns / srai.h
index 1f0dde2acddfa386733c04b0479f84b2b69f86d5..bb17d2767c6533d3be35c6069d802b53af7fb22b 100644 (file)
@@ -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);
+}