aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2024-05-01 16:20:59 -0700
committerAndrew Waterman <andrew@sifive.com>2024-05-01 16:46:27 -0700
commit3a4f1702eda753c4a0a0eba25156fc612b4001d9 (patch)
treeb153b6e019ce90a5d01ade9bfe87c2e1ce0d1b99
parent37b0dc0b52b5536ab19af3a7678f1a1cd8087942 (diff)
downloadriscv-isa-sim-3a4f1702eda753c4a0a0eba25156fc612b4001d9.zip
riscv-isa-sim-3a4f1702eda753c4a0a0eba25156fc612b4001d9.tar.gz
riscv-isa-sim-3a4f1702eda753c4a0a0eba25156fc612b4001d9.tar.bz2
Remove Zbpbo, Zpn, and Zpsfoperand from disassembler
-rw-r--r--disasm/disasm.cc319
1 files changed, 0 insertions, 319 deletions
diff --git a/disasm/disasm.cc b/disasm/disasm.cc
index 187a1d5..6716e5b 100644
--- a/disasm/disasm.cc
+++ b/disasm/disasm.cc
@@ -1852,31 +1852,6 @@ void disassembler_t::add_instructions(const isa_parser_t* isa)
DEFINE_VECTOR_VV(vfwmaccbf16_vv);
DEFINE_VECTOR_VF(vfwmaccbf16_vf);
}
-
-#define DEFINE_PI3TYPE(code) add_pitype3_insn(this, #code, match_##code, mask_##code);
-#define DEFINE_PI4TYPE(code) add_pitype4_insn(this, #code, match_##code, mask_##code);
-#define DEFINE_PI5TYPE(code) add_pitype5_insn(this, #code, match_##code, mask_##code);
-#define DEFINE_PI6TYPE(code) add_pitype6_insn(this, #code, match_##code, mask_##code);
-
-#define DISASM_8_AND_16_RINSN(code) \
- DEFINE_RTYPE(code##8); \
- DEFINE_RTYPE(code##16);
-
-#define DISASM_8_AND_16_RINSN_ROUND(code) \
- DEFINE_RTYPE(code##8_u); \
- DEFINE_RTYPE(code##16_u);
-
-#define DISASM_8_AND_16_PIINSN(code) \
- DEFINE_PI3TYPE(code##8); \
- DEFINE_PI4TYPE(code##16);
-
-#define DISASM_8_AND_16_PIINSN_ROUND(code) \
- DEFINE_PI3TYPE(code##8_u); \
- DEFINE_PI4TYPE(code##16_u);
-
-#define DISASM_RINSN_AND_ROUND(code) \
- DEFINE_RTYPE(code); \
- DEFINE_RTYPE(code##_u); \
if (isa->extension_enabled(EXT_ZMMUL)) {
DEFINE_RTYPE(mul);
@@ -1886,300 +1861,6 @@ void disassembler_t::add_instructions(const isa_parser_t* isa)
DEFINE_RTYPE(mulw);
}
- if (isa->extension_enabled(EXT_ZBPBO)) {
- DEFINE_RTYPE(min);
- DEFINE_RTYPE(max);
- DEFINE_R3TYPE(cmix);
- DEFINE_RTYPE(pack);
- DEFINE_RTYPE(packu);
- add_insn(new disasm_insn_t("rev", match_grevi | ((isa->get_max_xlen() - 1) << imm_shift), mask_grevi | mask_imm, {&xrd, &xrs1}));
- add_insn(new disasm_insn_t("rev8.h", match_grevi | (0x8 << imm_shift), mask_grevi | mask_imm, {&xrd, &xrs1})); // swap16
- if (isa->get_max_xlen() == 32) {
- DEFINE_R1TYPE(clz);
- DEFINE_R3TYPE(fsr);
- DEFINE_R3TYPE(fsri);
- } else {
- DEFINE_R3TYPE(fsrw);
- }
- }
-
- if (isa->extension_enabled(EXT_ZPSFOPERAND)) {
- DEFINE_RTYPE(smal)
- DEFINE_RTYPE(radd64);
- DEFINE_RTYPE(uradd64);
- DEFINE_RTYPE(kadd64);
- DEFINE_RTYPE(ukadd64);
- DEFINE_RTYPE(rsub64);
- DEFINE_RTYPE(ursub64);
- DEFINE_RTYPE(ksub64);
- DEFINE_RTYPE(uksub64);
- DEFINE_RTYPE(smar64);
- DEFINE_RTYPE(smsr64);
- DEFINE_RTYPE(umar64);
- DEFINE_RTYPE(umsr64);
- DEFINE_RTYPE(kmar64);
- DEFINE_RTYPE(kmsr64);
- DEFINE_RTYPE(ukmar64);
- DEFINE_RTYPE(ukmsr64);
- DEFINE_RTYPE(smalbb);
- DEFINE_RTYPE(smalbt);
- DEFINE_RTYPE(smaltt);
- DEFINE_RTYPE(smalda);
- DEFINE_RTYPE(smalxda);
- DEFINE_RTYPE(smalds);
- DEFINE_RTYPE(smaldrs);
- DEFINE_RTYPE(smalxds);
- DEFINE_RTYPE(smslda);
- DEFINE_RTYPE(smslxda);
- DEFINE_RTYPE(mulr64);
- DEFINE_RTYPE(mulsr64);
- if (isa->get_max_xlen() == 32) {
- DEFINE_RTYPE(add64);
- DEFINE_RTYPE(sub64);
- }
- }
-
- if (isa->extension_enabled(EXT_ZPN)) {
- DISASM_8_AND_16_RINSN(add);
- DISASM_8_AND_16_RINSN(radd);
- DISASM_8_AND_16_RINSN(uradd);
- DISASM_8_AND_16_RINSN(kadd);
- DISASM_8_AND_16_RINSN(ukadd);
- DISASM_8_AND_16_RINSN(sub);
- DISASM_8_AND_16_RINSN(rsub);
- DISASM_8_AND_16_RINSN(ursub);
- DISASM_8_AND_16_RINSN(ksub);
- DISASM_8_AND_16_RINSN(uksub);
- DEFINE_RTYPE(cras16);
- DEFINE_RTYPE(rcras16);
- DEFINE_RTYPE(urcras16);
- DEFINE_RTYPE(kcras16);
- DEFINE_RTYPE(ukcras16);
- DEFINE_RTYPE(crsa16);
- DEFINE_RTYPE(rcrsa16);
- DEFINE_RTYPE(urcrsa16);
- DEFINE_RTYPE(kcrsa16);
- DEFINE_RTYPE(ukcrsa16);
- DEFINE_RTYPE(stas16);
- DEFINE_RTYPE(rstas16);
- DEFINE_RTYPE(urstas16);
- DEFINE_RTYPE(kstas16);
- DEFINE_RTYPE(ukstas16);
- DEFINE_RTYPE(stsa16);
- DEFINE_RTYPE(rstsa16);
- DEFINE_RTYPE(urstsa16);
- DEFINE_RTYPE(kstsa16);
- DEFINE_RTYPE(ukstsa16);
- DISASM_8_AND_16_RINSN(sra);
- DISASM_8_AND_16_RINSN(srl);
- DISASM_8_AND_16_RINSN(sll);
- DISASM_8_AND_16_RINSN(ksll);
- DISASM_8_AND_16_RINSN(kslra);
- DISASM_8_AND_16_PIINSN(srai);
- DISASM_8_AND_16_PIINSN(srli);
- DISASM_8_AND_16_PIINSN(slli);
- DISASM_8_AND_16_PIINSN(kslli);
- DISASM_8_AND_16_RINSN_ROUND(sra);
- DISASM_8_AND_16_RINSN_ROUND(srl);
- DISASM_8_AND_16_RINSN_ROUND(kslra);
- DISASM_8_AND_16_PIINSN_ROUND(srai);
- DISASM_8_AND_16_PIINSN_ROUND(srli);
-
- DISASM_8_AND_16_RINSN(cmpeq);
- DISASM_8_AND_16_RINSN(scmplt);
- DISASM_8_AND_16_RINSN(scmple);
- DISASM_8_AND_16_RINSN(ucmplt);
- DISASM_8_AND_16_RINSN(ucmple);
-
- DISASM_8_AND_16_RINSN(smul);
- DISASM_8_AND_16_RINSN(smulx);
- DISASM_8_AND_16_RINSN(umul);
- DISASM_8_AND_16_RINSN(umulx);
- DISASM_8_AND_16_RINSN(khm);
- DISASM_8_AND_16_RINSN(khmx);
-
- DISASM_8_AND_16_RINSN(smin);
- DISASM_8_AND_16_RINSN(umin);
- DISASM_8_AND_16_RINSN(smax);
- DISASM_8_AND_16_RINSN(umax);
- DISASM_8_AND_16_PIINSN(sclip);
- DISASM_8_AND_16_PIINSN(uclip);
- DEFINE_R1TYPE(kabs16);
- DEFINE_R1TYPE(clrs16);
- DEFINE_R1TYPE(clz16);
- DEFINE_R1TYPE(kabs8);
- DEFINE_R1TYPE(clrs8);
- DEFINE_R1TYPE(clz8);
-
- DEFINE_R1TYPE(sunpkd810);
- DEFINE_R1TYPE(sunpkd820);
- DEFINE_R1TYPE(sunpkd830);
- DEFINE_R1TYPE(sunpkd831);
- DEFINE_R1TYPE(sunpkd832);
- DEFINE_R1TYPE(zunpkd810);
- DEFINE_R1TYPE(zunpkd820);
- DEFINE_R1TYPE(zunpkd830);
- DEFINE_R1TYPE(zunpkd831);
- DEFINE_R1TYPE(zunpkd832);
-
- DEFINE_RTYPE(pkbb16);
- DEFINE_RTYPE(pkbt16);
- DEFINE_RTYPE(pktb16);
- DEFINE_RTYPE(pktt16);
- DISASM_RINSN_AND_ROUND(smmul);
- DISASM_RINSN_AND_ROUND(kmmac);
- DISASM_RINSN_AND_ROUND(kmmsb);
- DISASM_RINSN_AND_ROUND(kwmmul);
- DISASM_RINSN_AND_ROUND(smmwb);
- DISASM_RINSN_AND_ROUND(smmwt);
- DISASM_RINSN_AND_ROUND(kmmawb);
- DISASM_RINSN_AND_ROUND(kmmawt);
- DISASM_RINSN_AND_ROUND(kmmwb2);
- DISASM_RINSN_AND_ROUND(kmmwt2);
- DISASM_RINSN_AND_ROUND(kmmawb2);
- DISASM_RINSN_AND_ROUND(kmmawt2);
- DEFINE_RTYPE(smbb16)
- DEFINE_RTYPE(smbt16)
- DEFINE_RTYPE(smtt16)
- DEFINE_RTYPE(kmda)
- DEFINE_RTYPE(kmxda)
- DEFINE_RTYPE(smds)
- DEFINE_RTYPE(smdrs)
- DEFINE_RTYPE(smxds)
- DEFINE_RTYPE(kmabb)
- DEFINE_RTYPE(kmabt)
- DEFINE_RTYPE(kmatt)
- DEFINE_RTYPE(kmada)
- DEFINE_RTYPE(kmaxda)
- DEFINE_RTYPE(kmads)
- DEFINE_RTYPE(kmadrs)
- DEFINE_RTYPE(kmaxds)
- DEFINE_RTYPE(kmsda)
- DEFINE_RTYPE(kmsxda)
- DEFINE_RTYPE(sclip32)
- DEFINE_RTYPE(uclip32)
- DEFINE_R1TYPE(clrs32);
- DEFINE_R1TYPE(clz32);
- DEFINE_RTYPE(pbsad);
- DEFINE_RTYPE(pbsada);
- DEFINE_RTYPE(smaqa);
- DEFINE_RTYPE(umaqa);
- DEFINE_RTYPE(smaqa_su);
-
- DEFINE_RTYPE(kaddh);
- DEFINE_RTYPE(ksubh);
- DEFINE_RTYPE(khmbb);
- DEFINE_RTYPE(khmbt);
- DEFINE_RTYPE(khmtt);
- DEFINE_RTYPE(ukaddh);
- DEFINE_RTYPE(uksubh);
- DEFINE_RTYPE(kaddw);
- DEFINE_RTYPE(ukaddw);
- DEFINE_RTYPE(ksubw);
- DEFINE_RTYPE(uksubw);
- DEFINE_RTYPE(kdmbb);
- DEFINE_RTYPE(kdmbt);
- DEFINE_RTYPE(kdmtt);
- DEFINE_RTYPE(kslraw);
- DEFINE_RTYPE(kslraw_u);
- DEFINE_RTYPE(ksllw);
- DEFINE_PI5TYPE(kslliw);
- DEFINE_RTYPE(kdmabb);
- DEFINE_RTYPE(kdmabt);
- DEFINE_RTYPE(kdmatt);
- DEFINE_RTYPE(kabsw);
- DEFINE_RTYPE(raddw);
- DEFINE_RTYPE(uraddw);
- DEFINE_RTYPE(rsubw);
- DEFINE_RTYPE(ursubw);
- DEFINE_RTYPE(msubr32);
- DEFINE_RTYPE(ave);
- DEFINE_RTYPE(sra_u);
- DEFINE_PI6TYPE(srai_u);
- DEFINE_PI3TYPE(insb);
- DEFINE_RTYPE(maddr32)
-
- if (isa->get_max_xlen() == 64) {
- DEFINE_RTYPE(add32);
- DEFINE_RTYPE(radd32);
- DEFINE_RTYPE(uradd32);
- DEFINE_RTYPE(kadd32);
- DEFINE_RTYPE(ukadd32);
- DEFINE_RTYPE(sub32);
- DEFINE_RTYPE(rsub32);
- DEFINE_RTYPE(ursub32);
- DEFINE_RTYPE(ksub32);
- DEFINE_RTYPE(uksub32);
- DEFINE_RTYPE(cras32);
- DEFINE_RTYPE(rcras32);
- DEFINE_RTYPE(urcras32);
- DEFINE_RTYPE(kcras32);
- DEFINE_RTYPE(ukcras32);
- DEFINE_RTYPE(crsa32);
- DEFINE_RTYPE(rcrsa32);
- DEFINE_RTYPE(urcrsa32);
- DEFINE_RTYPE(kcrsa32);
- DEFINE_RTYPE(ukcrsa32);
- DEFINE_RTYPE(stas32);
- DEFINE_RTYPE(rstas32);
- DEFINE_RTYPE(urstas32);
- DEFINE_RTYPE(kstas32);
- DEFINE_RTYPE(ukstas32);
- DEFINE_RTYPE(stsa32);
- DEFINE_RTYPE(rstsa32);
- DEFINE_RTYPE(urstsa32);
- DEFINE_RTYPE(kstsa32);
- DEFINE_RTYPE(ukstsa32);
- DEFINE_RTYPE(sra32);
- DEFINE_PI5TYPE(srai32);
- DEFINE_RTYPE(sra32_u);
- DEFINE_PI5TYPE(srai32_u);
- DEFINE_RTYPE(srl32);
- DEFINE_PI5TYPE(srli32);
- DEFINE_RTYPE(srl32_u);
- DEFINE_PI5TYPE(srli32_u);
- DEFINE_RTYPE(sll32);
- DEFINE_PI5TYPE(slli32);
- DEFINE_RTYPE(ksll32);
- DEFINE_PI5TYPE(kslli32);
- DEFINE_RTYPE(kslra32);
- DEFINE_RTYPE(kslra32_u);
- DEFINE_RTYPE(smin32);
- DEFINE_RTYPE(umin32);
- DEFINE_RTYPE(smax32);
- DEFINE_RTYPE(umax32);
- DEFINE_R1TYPE(kabs32);
- DEFINE_RTYPE(khmbb16);
- DEFINE_RTYPE(khmbt16);
- DEFINE_RTYPE(khmtt16);
- DEFINE_RTYPE(kdmbb16);
- DEFINE_RTYPE(kdmbt16);
- DEFINE_RTYPE(kdmtt16);
- DEFINE_RTYPE(kdmabb16);
- DEFINE_RTYPE(kdmabt16);
- DEFINE_RTYPE(kdmatt16);
- DEFINE_RTYPE(smbt32);
- DEFINE_RTYPE(smtt32);
- DEFINE_RTYPE(kmabb32);
- DEFINE_RTYPE(kmabt32);
- DEFINE_RTYPE(kmatt32);
- DEFINE_RTYPE(kmda32);
- DEFINE_RTYPE(kmxda32);
- DEFINE_RTYPE(kmaxda32);
- DEFINE_RTYPE(kmads32);
- DEFINE_RTYPE(kmadrs32);
- DEFINE_RTYPE(kmaxds32);
- DEFINE_RTYPE(kmsda32);
- DEFINE_RTYPE(kmsxda32);
- DEFINE_RTYPE(smds32);
- DEFINE_RTYPE(smdrs32);
- DEFINE_RTYPE(smxds32);
- DEFINE_PI5TYPE(sraiw_u);
- DEFINE_RTYPE(pkbt32);
- DEFINE_RTYPE(pktb32);
- }
- }
-
if (isa->extension_enabled(EXT_ZICBOM)) {
DISASM_INSN("cbo.clean", cbo_clean, 0, {&base_only_address});
DISASM_INSN("cbo.flush", cbo_flush, 0, {&base_only_address});