aboutsummaryrefslogtreecommitdiff
path: root/riscv/isa_parser.h
diff options
context:
space:
mode:
authorEric Gouriou <ego@rivosinc.com>2023-06-01 18:04:31 -0700
committerEric Gouriou <ego@rivosinc.com>2023-06-19 14:29:59 -0700
commit1e5a71f99b3432ba9fb543995a466c2d96e96cec (patch)
treefba28ad4081754e774f0eaf1598b488da880a742 /riscv/isa_parser.h
parent377fb0a11b8ccc28f7d1687523b7d79403e26453 (diff)
downloadriscv-isa-sim-1e5a71f99b3432ba9fb543995a466c2d96e96cec.zip
riscv-isa-sim-1e5a71f99b3432ba9fb543995a466c2d96e96cec.tar.gz
riscv-isa-sim-1e5a71f99b3432ba9fb543995a466c2d96e96cec.tar.bz2
Zvk: extensions parsing
Zvk is the short name for the Vector Cryptography Instruction Set Extension Specification being defined at <https://github.com/riscv/riscv-crypto/tree/master/doc/vector>. This commit adds support for parsing/enabling the Zvk extensions (Zvbb, Zvbc, Zvkg, Zvkned, Zvknha, Zvknhb, Zvksed, Zvksh, Zvkt) and the combo extensions (Zvkn, Zvknc, Zvkng, Zvks, Zvksc, Zvksg). This is an early commit in a series implementing Zvk. No instructions are actually defined here, only infastructure that will support the coming extensions. The encodings for Zvk instructions have some conflicts with Zpn encodings. This commit marks those Zpn instructions as overlapping, and adds checks to error out if conflicting extensions are enabled. Signed-off-by: Eric Gouriou <ego@rivosinc.com>
Diffstat (limited to 'riscv/isa_parser.h')
-rw-r--r--riscv/isa_parser.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/riscv/isa_parser.h b/riscv/isa_parser.h
index 3cbee7d..5b04347 100644
--- a/riscv/isa_parser.h
+++ b/riscv/isa_parser.h
@@ -58,8 +58,24 @@ typedef enum {
EXT_ZICNTR,
EXT_ZICOND,
EXT_ZIHPM,
+ EXT_ZVBB,
+ EXT_ZVBC,
EXT_ZVFBFMIN,
EXT_ZVFBFWMA,
+ EXT_ZVKG,
+ EXT_ZVKNED,
+ EXT_ZVKNHA,
+ EXT_ZVKNHB,
+ EXT_ZVKSED,
+ EXT_ZVKSH,
+ EXT_XZBP,
+ EXT_XZBS,
+ EXT_XZBE,
+ EXT_XZBF,
+ EXT_XZBC,
+ EXT_XZBM,
+ EXT_XZBR,
+ EXT_XZBT,
EXT_SSTC,
EXT_ZACAS,
EXT_INTERNAL_ZFH_MOVE,