RV32: fsl, fsr, fsri
RV64: fsl, fsr, fsri, fslw, fsrw, fsriw
Paths
| Differential D117468
[RISCV] Add intrinsic for Zbt extension ClosedPublic Authored by Chenbing.Zheng on Jan 17 2022, 5:05 AM.
Details Summary RV32: fsl, fsr, fsri RV64: fsl, fsr, fsri, fslw, fsrw, fsriw
Diff Detail
Event TimelineHerald added subscribers: VincentWu, luke957, achieveartificialintelligence and 26 others. · View Herald TranscriptJan 17 2022, 5:05 AM Herald added subscribers: llvm-commits, cfe-commits, alextsao1999 and 3 others. · View Herald Transcript
Chenbing.Zheng added inline comments.
Comment Actions Out of curiosity, what is your interest in Zbt? Do you work for a company that is implementing this extension in hardware?
Comment Actions
My company has not implementing this extension,but may be in the future. I'm just doing a pre-research.
Comment Actions
The Zbt extensions and the other un-ratified extension from the old Bitmanip spec have not seen any active discussion for at least the last 6-9 months. If that continues, it starts to raise questions about whether llvm should continue to support and extension that does not appear to be on a path to ratification. I've asked for a discussion on this topic at the next RISCV LLVM bi-weekly sync meeting tomorrow morning US time. calendar link here https://llvm.org/docs/GettingInvolved.html#online-sync-ups Comment Actions
Thanks a lot, I will keep watching it. This revision is now accepted and ready to land.Jan 19 2022, 11:14 PM Closed by commit rG0be3da1fab5a: [RISCV] Add intrinsic for Zbt extension (authored by Chenbing.Zheng, committed by benshi001). · Explain WhyJan 20 2022, 12:27 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 401531 clang/include/clang/Basic/BuiltinsRISCV.def
clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbt.c
clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbt.c
llvm/include/llvm/IR/IntrinsicsRISCV.td
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
llvm/test/CodeGen/RISCV/rv32zbt-intrinsic.ll
llvm/test/CodeGen/RISCV/rv64zbt-intrinsic.ll
|
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.