[Mlir-commits] [mlir] [mlir][llvmir] Add SameOperandsAndResultType trait to LLVM_CountZerosIntrOp (PR #131133)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Thu Mar 13 05:51:24 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: Letu Ren (FantasqueX)

<details>
<summary>Changes</summary>

According to https://llvm.org/docs/LangRef.html#llvm-ctlz-intrinsic and https://llvm.org/docs/LangRef.html#llvm-cttz-intrinsic, The return type of `llvm.intr.ctlz` and `llvm.intr.cttz` must match the first argument type.

---
Full diff: https://github.com/llvm/llvm-project/pull/131133.diff


1 Files Affected:

- (modified) mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td (+1-1) 


``````````diff
diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
index e80745781f566..37193f384174e 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
+++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
@@ -86,7 +86,7 @@ class LLVM_TernarySameArgsIntrOpF<string func, list<Trait> traits = []> :
 
 class LLVM_CountZerosIntrOp<string func, list<Trait> traits = []> :
     LLVM_OneResultIntrOp<func, [], [0],
-           !listconcat([Pure], traits),
+           !listconcat([Pure, SameOperandsAndResultType], traits),
             /*requiresFastmath=*/0,
             /*immArgPositions=*/[1], /*immArgAttrNames=*/["is_zero_poison"]> {
   let arguments = (ins LLVM_ScalarOrVectorOf<AnySignlessInteger>:$in,

``````````

</details>


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


More information about the Mlir-commits mailing list