[PATCH] D117468: [RISCV] Add intrinsic for Zbt extension
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 17 09:08:49 PST 2022
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
More information about the llvm-commits
mailing list