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

via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 5 21:11:25 PST 2023


Author: Luke Lau
Date: 2023-11-06T13:11:22+08:00
New Revision: 9627602db1f1b2f738b72ab025565a4453b12d44

URL: https://github.com/llvm/llvm-project/commit/9627602db1f1b2f738b72ab025565a4453b12d44
DIFF: https://github.com/llvm/llvm-project/commit/9627602db1f1b2f738b72ab025565a4453b12d44.diff

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

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.

Added: 
    

Modified: 
    llvm/include/llvm/IR/VPIntrinsics.def

Removed: 
    


################################################################################
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


        


More information about the llvm-commits mailing list