[llvm-branch-commits] [SPARC] Use lzcnt to implement CTLZ when we have VIS3 (PR #135715)
Sergei Barannikov via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Apr 16 18:01:04 PDT 2025
================
@@ -1815,7 +1817,8 @@ SparcTargetLowering::SparcTargetLowering(const TargetMachine &TM,
setOperationAction(ISD::FREM , MVT::f32, Expand);
setOperationAction(ISD::FMA , MVT::f32, Expand);
setOperationAction(ISD::CTTZ , MVT::i32, Expand);
- setOperationAction(ISD::CTLZ , MVT::i32, Expand);
+ setOperationAction(ISD::CTLZ, MVT::i32,
+ Subtarget->isVIS3() ? Promote : LibCall);
----------------
s-barannikov wrote:
I mean, we can use libcall for i64 on both 32- and 64-bit system,
but it appears we can't use i32 libcall on 64-bit system. At least this looks so from the godbolt link.
https://github.com/llvm/llvm-project/pull/135715
More information about the llvm-branch-commits
mailing list