[PATCH] D95588: [RISCV] Implement the MC layer support of P extension

Jim Lin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 24 02:05:21 PDT 2021


Jim marked 7 inline comments as done.
Jim added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoP.td:909
+
+// kmar64 has a aliased instruction kmada32 belong to zpn sub-extension on RV64.
+let DecoderNamespace = "RISCV32Zpsfoperand_",
----------------
jrtc27 wrote:
> Having the same instruction in two different extensions under two different names is insane. Currently this implementation lets you use the "wrong" name for kmar64 with Zpn. But I would prefer the spec weren't crazy.
I am still working on fixing it (from spec or ...) . But it is spec issue.


================
Comment at: llvm/lib/Target/RISCV/RISCVRegisterInfo.td:228
+
+def GPR32Pair : RegisterClass<"RISCV", [untyped], 64, (add GPR32Pairs)> {
+  let Size = 64;
----------------
jrtc27 wrote:
> Why is this untyped?
GPR32Pair has untyped type. 
In code generation, It captures some operation with i64 type supported by Zpsoperand to untyped during legalization. 
In my mind, untyped is used to be represented special type don't need any legalization.
I refer to ARMRegisterInfo.td that defines GPRPair with untyped.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D95588



More information about the cfe-commits mailing list