[PATCH] D93298: [RISCV] add the MC layer support of Zfinx extension

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 24 12:39:04 PST 2021


craig.topper added inline comments.


================
Comment at: llvm/lib/Support/RISCVISAInfo.cpp:69
     {"zfh", RISCVExtensionVersion{0, 1}},
+    {"zfinx", RISCVExtensionVersion{1, 0}},
+    {"zdinx", RISCVExtensionVersion{1, 0}},
----------------
Do we need to enforce that these can't be mixed with F, D, and Zfh?


================
Comment at: llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp:1718
+        !getSTI().hasFeature(RISCV::FeatureStdExtF) &&
+            !getSTI().hasFeature(RISCV::FeatureStdExtD) &&
+            !getSTI().hasFeature(RISCV::FeatureStdExtZfh)));
----------------
D and Zfh imply F. Is it enough to just check F?


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoF.td:77
 let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
-class FPFMAS_rrr_frm<RISCVOpcode opcode, string opcodestr>
-    : RVInstR4Frm<0b00, opcode, (outs FPR32:$rd),
-                  (ins FPR32:$rs1, FPR32:$rs2, FPR32:$rs3, frmarg:$funct3),
+class FPFMAS_rrr_frm_single<RISCVOpcode opcode, string opcodestr,
+                            RegisterOperand freg>
----------------
Can we merge this with FPFMAD_rrr_frm_single and FPFMAH_rrr_frm_single by passing the 0b00/0b01/0b10 value from FPFMAS_rrr_frm/FPFMAD_rrr_frm/FPFMAH_rrr_frm?

This applies to most of the `_single` classes. We should share them if possible.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93298/new/

https://reviews.llvm.org/D93298



More information about the llvm-commits mailing list