[llvm] [VP] Mark llvm.experimental.vp.splice as having no functional equivalent (PR #70647)

via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 30 04:16:00 PDT 2023


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-ir

Author: Luke Lau (lukel97)

<details>
<summary>Changes</summary>

llvm.experimental.vp.splice has different semantics from
llvm.experimental.splice (since it takes uses the EVL arguments in a way other
than just masking the tail elements), so it shouldn't be expanded to the
unpredicated version.

Coincidentally there's no support for llvm.experimental.vp.splice in
ExpandVectorPredication, so it wasn't getting expanded, but we shouldn't mark
it as functionally equivalent anyway since there's other users of the property
now e.g. in VectorCombine.


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


1 Files Affected:

- (modified) llvm/include/llvm/IR/VPIntrinsics.def (+1-1) 


``````````diff
diff --git a/llvm/include/llvm/IR/VPIntrinsics.def b/llvm/include/llvm/IR/VPIntrinsics.def
index 55a68ff5768ddb0..0ca60bcfbb3d03f 100644
--- a/llvm/include/llvm/IR/VPIntrinsics.def
+++ b/llvm/include/llvm/IR/VPIntrinsics.def
@@ -699,7 +699,7 @@ VP_PROPERTY_NO_FUNCTIONAL
 END_REGISTER_VP(vp_merge, VP_MERGE)
 
 BEGIN_REGISTER_VP(experimental_vp_splice, 3, 5, EXPERIMENTAL_VP_SPLICE, -1)
-VP_PROPERTY_FUNCTIONAL_INTRINSIC(experimental_vector_splice)
+VP_PROPERTY_NO_FUNCTIONAL
 END_REGISTER_VP(experimental_vp_splice, EXPERIMENTAL_VP_SPLICE)
 
 ///// } Shuffles

``````````

</details>


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


More information about the llvm-commits mailing list