diff options
author | Andrew Waterman <andrew@sifive.com> | 2024-04-23 17:55:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-23 17:55:15 -0700 |
commit | 20a2b6d05a562236a32ca3ce1642a2bdbbd907a0 (patch) | |
tree | e57b4e3736ceb86bdd55b3da922e555442570cf5 | |
parent | 7aabaa762e9e5b9f5c72fe1f5c74bdeb95af550f (diff) | |
parent | 55ee3a591667ce9c1a2b6ddaaa2a2b21c62ea1ac (diff) | |
download | riscv-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.cc | 4 |
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']) { |