[llvm] [RISCV] Provide a more efficient lowering for experimental.cttz.elts. (PR #88552)

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 15 08:33:25 PDT 2024


================
@@ -12336,6 +12370,11 @@ void RISCVTargetLowering::ReplaceNodeResults(SDNode *N,
       Results.push_back(DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Res));
       return;
     }
+    case Intrinsic::experimental_cttz_elts: {
+      SDValue Res = lowerCttzElts(N, DAG, Subtarget);
+      Results.push_back(DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Res));
----------------
preames wrote:

The i32 seems slightly weird here - I'd expect XLenVT unless there's something I didn't spot on a first glance about when this code is reached?

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


More information about the llvm-commits mailing list