aboutsummaryrefslogtreecommitdiff
path: root/opcodes-rv32xbitmanip
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes-rv32xbitmanip')
-rw-r--r--opcodes-rv32xbitmanip42
1 files changed, 42 insertions, 0 deletions
diff --git a/opcodes-rv32xbitmanip b/opcodes-rv32xbitmanip
new file mode 100644
index 0000000..173fb8c
--- /dev/null
+++ b/opcodes-rv32xbitmanip
@@ -0,0 +1,42 @@
+# This file contains unratified instructions that have been proposed
+# by the Bit Manipulation TG but have not been ratified. (Spike
+# supports them via the Xbitmanip extension, hence the filename.)
+
+slo rd rs1 rs2 31..25=16 14..12=1 6..2=0x0C 1..0=3
+sro rd rs1 rs2 31..25=16 14..12=5 6..2=0x0C 1..0=3
+
+gorc rd rs1 rs2 31..25=20 14..12=5 6..2=0x0C 1..0=3
+grev rd rs1 rs2 31..25=52 14..12=5 6..2=0x0C 1..0=3
+
+sloi rd rs1 31..26=8 shamt 14..12=1 6..2=0x04 1..0=3
+sroi rd rs1 31..26=8 shamt 14..12=5 6..2=0x04 1..0=3
+
+# These are marked as pseudos to avoid conflicting with orc.b and rev8
+@gorci rd rs1 31..26=10 shamt 14..12=5 6..2=0x04 1..0=3
+@grevi rd rs1 31..26=26 shamt 14..12=5 6..2=0x04 1..0=3
+
+cmix rd rs1 rs2 rs3 26..25=3 14..12=1 6..2=0x0C 1..0=3
+cmov rd rs1 rs2 rs3 26..25=3 14..12=5 6..2=0x0C 1..0=3
+
+fsl rd rs1 rs2 rs3 26..25=2 14..12=1 6..2=0x0C 1..0=3
+fsr rd rs1 rs2 rs3 26..25=2 14..12=5 6..2=0x0C 1..0=3
+fsri rd rs1 shamt rs3 26=1 14..12=5 6..2=0x04 1..0=3
+
+crc32.b rd rs1 31..20=0x610 14..12=1 6..2=0x04 1..0=3
+crc32.h rd rs1 31..20=0x611 14..12=1 6..2=0x04 1..0=3
+crc32.w rd rs1 31..20=0x612 14..12=1 6..2=0x04 1..0=3
+crc32c.b rd rs1 31..20=0x618 14..12=1 6..2=0x04 1..0=3
+crc32c.h rd rs1 31..20=0x619 14..12=1 6..2=0x04 1..0=3
+crc32c.w rd rs1 31..20=0x61A 14..12=1 6..2=0x04 1..0=3
+
+shfl rd rs1 rs2 31..25=4 14..12=1 6..2=0x0C 1..0=3
+unshfl rd rs1 rs2 31..25=4 14..12=5 6..2=0x0C 1..0=3
+bcompress rd rs1 rs2 31..25=4 14..12=6 6..2=0x0C 1..0=3
+bdecompress rd rs1 rs2 31..25=36 14..12=6 6..2=0x0C 1..0=3
+packu rd rs1 rs2 31..25=36 14..12=4 6..2=0x0C 1..0=3
+bfp rd rs1 rs2 31..25=36 14..12=7 6..2=0x0C 1..0=3
+
+shfli rd rs1 31..25=4 shamtw 14..12=1 6..2=0x04 1..0=3
+unshfli rd rs1 31..25=4 shamtw 14..12=5 6..2=0x04 1..0=3
+
+xperm16 rd rs1 rs2 31..25=20 14..12=6 6..2=0x0C 1..0=3