[PATCH] D134348: [InstSimplify] Support vectors in simplifyWithOpReplaced()
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 21 07:41:06 PDT 2022
spatel added a comment.
Seems right, but do we have tests that exercise the call restriction? Maybe something like these:
declare <2 x i32> @llvm.sadd.sat.v2i32(<2 x i32>, <2 x i32>)
declare <2 x i32> @arbitrary_call(<2 x i32>)
define <2 x i32> @could_fold(<2 x i32> %x, <2 x i32> %y) {
%a = call <2 x i32> @llvm.sadd.sat.v2i32(<2 x i32> %x, <2 x i32> <i32 42, i32 42>)
%cond = icmp eq <2 x i32> %x, zeroinitializer
%s = select <2 x i1> %cond, <2 x i32> %a, <2 x i32> %y
ret <2 x i32> %s
}
define <2 x i32> @must_not_fold(<2 x i32> %x, <2 x i32> %y) {
%a = call <2 x i32> @arbitrary_call(<2 x i32> %x)
%cond = icmp eq <2 x i32> %x, zeroinitializer
%s = select <2 x i1> %cond, <2 x i32> %a, <2 x i32> %y
ret <2 x i32> %s
}
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D134348/new/
https://reviews.llvm.org/D134348
More information about the llvm-commits
mailing list