summaryrefslogtreecommitdiff
path: root/opcodes-pseudo
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes-pseudo')
-rw-r--r--opcodes-pseudo11
1 files changed, 9 insertions, 2 deletions
diff --git a/opcodes-pseudo b/opcodes-pseudo
index a3abbb8..3bd44ee 100644
--- a/opcodes-pseudo
+++ b/opcodes-pseudo
@@ -1,8 +1,15 @@
+# Instructions that differ slightly between rv32 and rv64
+@slli-rv32 rd rs1 31..25=0 shamtw 14..12=1 6..2=0x04 1..0=3
+@srli-rv32 rd rs1 31..25=0 shamtw 14..12=5 6..2=0x04 1..0=3
+@srai-rv32 rd rs1 31..25=32 shamtw 14..12=5 6..2=0x04 1..0=3
+
# SYSTEM pseudo-instructions that map to csr*
-@fsflags rd rs1 31..20=0x001 14..12=1 6..2=0x1C 1..0=3
@frflags rd 19..15=0 31..20=0x001 14..12=2 6..2=0x1C 1..0=3
-@fsrm rd rs1 31..20=0x002 14..12=1 6..2=0x1C 1..0=3
+@fsflags rd rs1 31..20=0x001 14..12=1 6..2=0x1C 1..0=3
+@fsflagsi rd zimm 31..20=0x001 14..12=5 6..2=0x1C 1..0=3
@frrm rd 19..15=0 31..20=0x002 14..12=2 6..2=0x1C 1..0=3
+@fsrm rd rs1 31..20=0x002 14..12=1 6..2=0x1C 1..0=3
+@fsrmi rd zimm 31..20=0x002 14..12=5 6..2=0x1C 1..0=3
@fscsr rd rs1 31..20=0x003 14..12=1 6..2=0x1C 1..0=3
@frcsr rd 19..15=0 31..20=0x003 14..12=2 6..2=0x1C 1..0=3
@rdcycle rd 19..15=0 31..20=0xC00 14..12=2 6..2=0x1C 1..0=3