aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2024-04-23 17:55:15 -0700
committerGitHub <noreply@github.com>2024-04-23 17:55:15 -0700
commit20a2b6d05a562236a32ca3ce1642a2bdbbd907a0 (patch)
treee57b4e3736ceb86bdd55b3da922e555442570cf5
parent7aabaa762e9e5b9f5c72fe1f5c74bdeb95af550f (diff)
parent55ee3a591667ce9c1a2b6ddaaa2a2b21c62ea1ac (diff)
downloadriscv-isa-sim-20a2b6d05a562236a32ca3ce1642a2bdbbd907a0.zip
riscv-isa-sim-20a2b6d05a562236a32ca3ce1642a2bdbbd907a0.tar.gz
riscv-isa-sim-20a2b6d05a562236a32ca3ce1642a2bdbbd907a0.tar.bz2
Merge pull request #1650 from YenHaoChen/pr-imply-ext
Make Zaamo + Zalrsc (Zba + Zbb + Zbs) imply A (B) in misa
-rw-r--r--disasm/isa_parser.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/disasm/isa_parser.cc b/disasm/isa_parser.cc
index 3d7690e..f29736b 100644
--- a/disasm/isa_parser.cc
+++ b/disasm/isa_parser.cc
@@ -339,12 +339,16 @@ isa_parser_t::isa_parser_t(const char* str, const char *priv)
if (extension_table['A']) {
extension_table[EXT_ZAAMO] = true;
extension_table[EXT_ZALRSC] = true;
+ } else if (extension_table[EXT_ZAAMO] && extension_table[EXT_ZALRSC]) {
+ extension_table['A'] = true;
}
if (extension_table['B']) {
extension_table[EXT_ZBA] = true;
extension_table[EXT_ZBB] = true;
extension_table[EXT_ZBS] = true;
+ } else if (extension_table[EXT_ZBA] && extension_table[EXT_ZBB] && extension_table[EXT_ZBS]) {
+ extension_table['B'] = true;
}
if (extension_table['C']) {