[llvm-branch-commits] [SPARC] Use lzcnt to implement CTLZ when we have VIS3 (PR #135715)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Apr 16 18:12:07 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);
----------------
koachan wrote:

Oof yeah, missed it. `clzsi2` seems to be unavailable on 64-bit environment, yes.

https://github.com/llvm/llvm-project/pull/135715


More information about the llvm-branch-commits mailing list