aboutsummaryrefslogtreecommitdiff
path: root/opcodes-rv64b
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2020-11-13 17:18:29 -0800
committerAndrew Waterman <andrew@sifive.com>2020-11-13 17:18:29 -0800
commit2b4a0fb477e22e962a8682a57a5e8f18e6e9dc94 (patch)
tree6a63131151fb032b4e35ce3348664a2305139c16 /opcodes-rv64b
parentf90c885f0a7281c3f6d52a316d92ad43d9ab9557 (diff)
parent76bc8253577b570e75febb6b7c3a879b1d23e11f (diff)
downloadriscv-opcodes-2b4a0fb477e22e962a8682a57a5e8f18e6e9dc94.zip
riscv-opcodes-2b4a0fb477e22e962a8682a57a5e8f18e6e9dc94.tar.gz
riscv-opcodes-2b4a0fb477e22e962a8682a57a5e8f18e6e9dc94.tar.bz2
Merge branch 'riscv-bitmanip'
Diffstat (limited to 'opcodes-rv64b')
-rw-r--r--opcodes-rv64b61
1 files changed, 61 insertions, 0 deletions
diff --git a/opcodes-rv64b b/opcodes-rv64b
new file mode 100644
index 0000000..59d0172
--- /dev/null
+++ b/opcodes-rv64b
@@ -0,0 +1,61 @@
+# RV64B additions to RV32B
+
+bmatflip rd rs1 31..20=0x603 14..12=1 6..2=0x04 1..0=3
+crc32.d rd rs1 31..20=0x613 14..12=1 6..2=0x04 1..0=3
+crc32c.d rd rs1 31..20=0x61B 14..12=1 6..2=0x04 1..0=3
+
+bmator rd rs1 rs2 31..25=4 14..12=3 6..2=0x0C 1..0=3
+bmatxor rd rs1 rs2 31..25=36 14..12=3 6..2=0x0C 1..0=3
+
+addiwu rd rs1 imm12 14..12=4 6..2=0x06 1..0=3
+slliu.w rd rs1 31..26=2 shamt 14..12=1 6..2=0x06 1..0=3
+
+addwu rd rs1 rs2 31..25=5 14..12=0 6..2=0x0E 1..0=3
+subwu rd rs1 rs2 31..25=37 14..12=0 6..2=0x0E 1..0=3
+addu.w rd rs1 rs2 31..25=4 14..12=0 6..2=0x0E 1..0=3
+
+slow rd rs1 rs2 31..25=16 14..12=1 6..2=0x0E 1..0=3
+srow rd rs1 rs2 31..25=16 14..12=5 6..2=0x0E 1..0=3
+rolw rd rs1 rs2 31..25=48 14..12=1 6..2=0x0E 1..0=3
+rorw rd rs1 rs2 31..25=48 14..12=5 6..2=0x0E 1..0=3
+
+sbclrw rd rs1 rs2 31..25=36 14..12=1 6..2=0x0E 1..0=3
+sbsetw rd rs1 rs2 31..25=20 14..12=1 6..2=0x0E 1..0=3
+sbinvw rd rs1 rs2 31..25=52 14..12=1 6..2=0x0E 1..0=3
+sbextw rd rs1 rs2 31..25=36 14..12=5 6..2=0x0E 1..0=3
+gorcw rd rs1 rs2 31..25=20 14..12=5 6..2=0x0E 1..0=3
+grevw rd rs1 rs2 31..25=52 14..12=5 6..2=0x0E 1..0=3
+
+sloiw rd rs1 31..26=8 25=0 shamtw 14..12=1 6..2=0x06 1..0=3
+sroiw rd rs1 31..26=8 25=0 shamtw 14..12=5 6..2=0x06 1..0=3
+roriw rd rs1 31..26=24 25=0 shamtw 14..12=5 6..2=0x06 1..0=3
+
+sbclriw rd rs1 31..26=18 25=0 shamtw 14..12=1 6..2=0x06 1..0=3
+sbsetiw rd rs1 31..26=10 25=0 shamtw 14..12=1 6..2=0x06 1..0=3
+sbinviw rd rs1 31..26=26 25=0 shamtw 14..12=1 6..2=0x06 1..0=3
+gorciw rd rs1 31..26=10 25=0 shamtw 14..12=5 6..2=0x06 1..0=3
+greviw rd rs1 31..26=26 25=0 shamtw 14..12=5 6..2=0x06 1..0=3
+
+fslw rd rs1 rs2 rs3 26..25=2 14..12=1 6..2=0x0E 1..0=3
+fsrw rd rs1 rs2 rs3 26..25=2 14..12=5 6..2=0x0E 1..0=3
+fsriw rd rs1 shamtw rs3 26..25=2 14..12=5 6..2=0x06 1..0=3
+
+clzw rd rs1 31..20=0x600 14..12=1 6..2=0x06 1..0=3
+ctzw rd rs1 31..20=0x601 14..12=1 6..2=0x06 1..0=3
+pcntw rd rs1 31..20=0x602 14..12=1 6..2=0x06 1..0=3
+
+sh1addu.w rd rs1 rs2 31..25=16 14..12=2 6..2=0x0E 1..0=3
+sh2addu.w rd rs1 rs2 31..25=16 14..12=4 6..2=0x0E 1..0=3
+sh3addu.w rd rs1 rs2 31..25=16 14..12=6 6..2=0x0E 1..0=3
+
+clmulw rd rs1 rs2 31..25=5 14..12=1 6..2=0x0E 1..0=3
+clmulrw rd rs1 rs2 31..25=5 14..12=2 6..2=0x0E 1..0=3
+clmulhw rd rs1 rs2 31..25=5 14..12=3 6..2=0x0E 1..0=3
+
+shflw rd rs1 rs2 31..25=4 14..12=1 6..2=0x0E 1..0=3
+unshflw rd rs1 rs2 31..25=4 14..12=5 6..2=0x0E 1..0=3
+bextw rd rs1 rs2 31..25=4 14..12=6 6..2=0x0E 1..0=3
+bdepw rd rs1 rs2 31..25=36 14..12=6 6..2=0x0E 1..0=3
+packw rd rs1 rs2 31..25=4 14..12=4 6..2=0x0E 1..0=3
+packuw rd rs1 rs2 31..25=36 14..12=4 6..2=0x0E 1..0=3
+bfpw rd rs1 rs2 31..25=36 14..12=7 6..2=0x0E 1..0=3