[PATCH] D153748: [RISCV] Add support for XCValu extension in CV32E40P

QIHAN CAI via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 20 00:09:34 PDT 2023


realqhc marked 3 inline comments as done.
realqhc added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td:233
+                  Sched<[]>;
+  def CV_SLET   : CVInstAlu_rr<0b0101001, 0b011, (outs GPR:$rd), (ins GPR:$rs1, GPR:$rs2),
+                               "cv.slet", "$rd, $rs1, $rs2">,
----------------
craig.topper wrote:
> I would have expected cv.sle and cv.sleu for these mnemonics. The `t` feels out of place. In the base isa for slt/sltu it's part of "less than". Is the instruction name here "set less equal than" instead "set less than or equal"?
> 
> The vector spec uses "sle" and "sleu"
> 
> Is the spec frozen?
The current naming is copied from PULP RI5CY and it is close to be frozen[1]. 
[1]: https://github.com/openhwgroup/cv32e40p/issues/833


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td:260
+                  Sched<[]>;
+  def CV_EXTBZ  : CVInstAlu_r<0b0110011, 0b011, (outs GPR:$rd), (ins GPR:$rs1),
+                              "cv.extbz", "$rd, $rs1">,
----------------
craig.topper wrote:
> I'm surprised this instruction exists. Isn't this `andi rs1, 255`?
I believe this is also a leftover from PULP RI5CY. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D153748



More information about the llvm-commits mailing list