aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/VectorUtils.cpp
diff options
context:
space:
mode:
authorYingwei Zheng <dtcxzyw2333@gmail.com>2024-09-02 17:06:07 +0800
committerGitHub <noreply@github.com>2024-09-02 17:06:07 +0800
commita156b5a47df58a1ac75cf67e26f557b1a4d26dc9 (patch)
treed45ad041c22185b633bc19b8dabf20cb305a975c /llvm/lib/Analysis/VectorUtils.cpp
parent0fa78b6c7bd43c2498700a98c47a02cf4fd06388 (diff)
downloadllvm-a156b5a47df58a1ac75cf67e26f557b1a4d26dc9.zip
llvm-a156b5a47df58a1ac75cf67e26f557b1a4d26dc9.tar.gz
llvm-a156b5a47df58a1ac75cf67e26f557b1a4d26dc9.tar.bz2
[SLP] Add vectorization support for [u|s]cmp (#106747)
This patch adds vectorization support for [u|s]cmp intrinsic calls.
Diffstat (limited to 'llvm/lib/Analysis/VectorUtils.cpp')
-rw-r--r--llvm/lib/Analysis/VectorUtils.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp
index 32ce341..d45d3bb 100644
--- a/llvm/lib/Analysis/VectorUtils.cpp
+++ b/llvm/lib/Analysis/VectorUtils.cpp
@@ -103,6 +103,8 @@ bool llvm::isTriviallyVectorizable(Intrinsic::ID ID) {
case Intrinsic::fptoui_sat:
case Intrinsic::lrint:
case Intrinsic::llrint:
+ case Intrinsic::ucmp:
+ case Intrinsic::scmp:
return true;
default:
return false;
@@ -138,6 +140,8 @@ bool llvm::isVectorIntrinsicWithOverloadTypeAtArg(Intrinsic::ID ID,
case Intrinsic::fptoui_sat:
case Intrinsic::lrint:
case Intrinsic::llrint:
+ case Intrinsic::ucmp:
+ case Intrinsic::scmp:
return OpdIdx == -1 || OpdIdx == 0;
case Intrinsic::is_fpclass:
return OpdIdx == 0;