aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeel Gala <neelgala@incoresemi.com>2022-04-08 18:40:07 +0530
committerNeel Gala <neelgala@incoresemi.com>2022-04-08 20:11:59 +0530
commit7db73f2163ea17a48b7e513d65d7eac6be277854 (patch)
treec93de93578a002cf6f8d73f1bd6e1bee21190fed
parent925870f2f7c2329cc083f48fabe454b15e7817cb (diff)
downloadriscv-opcodes-7db73f2163ea17a48b7e513d65d7eac6be277854.zip
riscv-opcodes-7db73f2163ea17a48b7e513d65d7eac6be277854.tar.gz
riscv-opcodes-7db73f2163ea17a48b7e513d65d7eac6be277854.tar.bz2
migrate Zbkb-extension opcodes
- split instruction based on new file naming policy - import instructions present in other ratified and unratified extensions - pseudo ops from zbp and zbb defined
-rw-r--r--opcodes-rv32zbkb8
-rw-r--r--opcodes-rv64zbkb3
-rw-r--r--rv32_zbkb4
-rw-r--r--rv64_zbkb6
-rw-r--r--rv_zbkb8
5 files changed, 18 insertions, 11 deletions
diff --git a/opcodes-rv32zbkb b/opcodes-rv32zbkb
deleted file mode 100644
index 5c9e2d5..0000000
--- a/opcodes-rv32zbkb
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file includes only the RV32Zbkb instructions that are not in RV32Zbb
-
-pack rd rs1 rs2 31..25=4 14..12=4 6..2=0x0C 1..0=3
-packh rd rs1 rs2 31..25=4 14..12=7 6..2=0x0C 1..0=3
-
-brev8 rd rs1 31..26=26 25..20=7 14..12=5 6..2=0x04 1..0=3
-unzip rd rs1 31..25=4 24..20=15 14..12=5 6..2=0x04 1..0=3
-zip rd rs1 31..25=4 24..20=15 14..12=1 6..2=0x04 1..0=3
diff --git a/opcodes-rv64zbkb b/opcodes-rv64zbkb
deleted file mode 100644
index 1c3146d..0000000
--- a/opcodes-rv64zbkb
+++ /dev/null
@@ -1,3 +0,0 @@
-# This file includes only the RV64Zbkb instructions that are not in RV64Zbb
-
-packw rd rs1 rs2 31..25=4 14..12=4 6..2=0x0E 1..0=3
diff --git a/rv32_zbkb b/rv32_zbkb
new file mode 100644
index 0000000..f791453
--- /dev/null
+++ b/rv32_zbkb
@@ -0,0 +1,4 @@
+$pseudo_op rv64_zbp::shfli zip rd rs1 31..25=4 24..20=15 14..12=1 6..2=4 1..0=3
+$pseudo_op rv64_zbp::unshfli unzip rd rs1 31..25=4 24..20=15 14..12=5 6..2=4 1..0=3
+$pseudo_op rv64_zbb::rori rori rd rs1 31..25=0x30 shamtw 14..12=5 6..2=0x04 1..0=3
+$pseudo_op rv64_zbp::grevi rev8 rd rs1 31..20=0x698 14..12=5 6..0=0x13
diff --git a/rv64_zbkb b/rv64_zbkb
new file mode 100644
index 0000000..ad2f4a9
--- /dev/null
+++ b/rv64_zbkb
@@ -0,0 +1,6 @@
+$pseudo_op rv64_zbp::grevi rev8 rd rs1 31..20=0x6B8 14..12=5 6..0=0x13
+$import rv64_zbb::rolw
+$import rv64_zbb::rorw
+$import rv64_zbb::roriw
+$import rv64_zbb::rori
+$import rv64_zbe::packw
diff --git a/rv_zbkb b/rv_zbkb
new file mode 100644
index 0000000..1499d78
--- /dev/null
+++ b/rv_zbkb
@@ -0,0 +1,8 @@
+$import rv_zbb::rol
+$import rv_zbb::ror
+$import rv_zbb::andn
+$import rv_zbb::orn
+$import rv_zbb::xnor
+$import rv_zbe::pack
+$import rv_zbe::packh
+$pseudo_op rv64_zbp::grevi brev8 rd rs1 31..20=0x687 14..12=5 6..2=0x4 1..0=0x3