Implement RVC draft
[riscv-isa-sim.git] / riscv / insns / slli.h
index 72912768da04afb9cbb6470fd7f8e66a07e9fa13..dfe7168193f9dac8848aa32ce5173b9cbf9caa8e 100644 (file)
@@ -1,8 +1,3 @@
-if (xlen == 64)
-  WRITE_RD(RS1 << SHAMT);
-else
-{
-  if(SHAMT & 0x20)
-    throw trap_illegal_instruction();
-  WRITE_RD(sext32(RS1 << SHAMT));
-}
+if (SHAMT >= xlen)
+  throw trap_illegal_instruction();
+WRITE_RD(sext_xlen(RS1 << SHAMT));