craig.topper added inline comments.

================
Comment at: clang/include/clang/Basic/BuiltinsRISCV.def:65
+// Zbt extension
+TARGET_BUILTIN(__builtin_riscv_cmov, "LiLiLiLi", "nc", "experimental-zbt")
+TARGET_BUILTIN(__builtin_riscv_cmix, "LiLiLiLi", "nc", "experimental-zbt")
----------------
cmov and cmix don't builtins don't seem very useful. The compiler can already 
match them from IR operations that can be expressed in C.


================
Comment at: clang/lib/CodeGen/CGBuiltin.cpp:18971
+      break;
+    case RISCV::BI__builtin_riscv_fsri_32:
+    case RISCV::BI__builtin_riscv_fsri_64:
----------------
We shouldn't have an fsri builtin. The fsr builtin is sufficient. And 
`riscv_fsri` looks unhandled in the backend.


================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoZb.td:907
           (FSR GPR:$rs1, GPR:$rs2, GPR:$rs3)>;
+def : Pat<(riscv_fsr GPR:$rs3, GPR:$rs1, uimmlog2xlen:$shamt),
+          (FSRI GPR:$rs1, GPR:$rs3, uimmlog2xlen:$shamt)>;
----------------
Need to also handle fsl with a constant argument.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D117468

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to