[llvm] [LoongArch] Custom implement getShuffleCost (PR #157983)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 22 20:33:30 PDT 2025
https://github.com/tangaac updated https://github.com/llvm/llvm-project/pull/157983
>From b70cc6056d20400525e42b8091244d47e4ded813 Mon Sep 17 00:00:00 2001
From: tangaac <tangyan01 at loongson.cn>
Date: Thu, 11 Sep 2025 10:03:36 +0800
Subject: [PATCH] Custom implement getShuffleCost
---
.../lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp | 8 ++++++++
llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h | 5 +++++
2 files changed, 13 insertions(+)
diff --git a/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp b/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
index f548a8dd0532b..4878766d6bb12 100644
--- a/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
+++ b/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
@@ -111,4 +111,12 @@ bool LoongArchTTIImpl::shouldExpandReduction(const IntrinsicInst *II) const {
}
}
+InstructionCost LoongArchTTIImpl::getShuffleCost(
+ TTI::ShuffleKind Kind, VectorType *DstTy, VectorType *SrcTy,
+ ArrayRef<int> Mask, TTI::TargetCostKind CostKind, int Index,
+ VectorType *SubTp, ArrayRef<const Value *> Args,
+ const Instruction *CxtI) const {
+ return 1;
+}
+
// TODO: Implement more hooks to provide TTI machinery for LoongArch.
diff --git a/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h b/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
index e3f16c7804994..5a36c34735174 100644
--- a/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
+++ b/llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
@@ -54,6 +54,11 @@ class LoongArchTTIImpl : public BasicTTIImplBase<LoongArchTTIImpl> {
bool enableWritePrefetching() const override;
bool shouldExpandReduction(const IntrinsicInst *II) const override;
+ InstructionCost
+ getShuffleCost(TTI::ShuffleKind Kind, VectorType *DstTy, VectorType *SrcTy,
+ ArrayRef<int> Mask, TTI::TargetCostKind CostKind, int Index,
+ VectorType *SubTp, ArrayRef<const Value *> Args = {},
+ const Instruction *CxtI = nullptr) const override;
// TODO: Implement more hooks to provide TTI machinery for LoongArch.
};
More information about the llvm-commits
mailing list