70 lines
3.1 KiB
Diff
70 lines
3.1 KiB
Diff
|
|
From 14df5cddfcb1c622d55df83e502289668021ecc5 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Balint Cristian <cristian.balint@gmail.com>
|
||
|
|
Date: Sun, 10 Aug 2025 14:50:09 +0300
|
||
|
|
Subject: [PATCH] [LLVM][CPPTEST] Small fixes for LLVM
|
||
|
|
|
||
|
|
---
|
||
|
|
tests/cpp/target/parsers/aprofile_test.cc | 10 ++++++++++
|
||
|
|
tests/cpp/tir_scalable_datatype.cc | 15 ++++++++++++---
|
||
|
|
2 files changed, 22 insertions(+), 3 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/tests/cpp/target/parsers/aprofile_test.cc b/tests/cpp/target/parsers/aprofile_test.cc
|
||
|
|
index d329a9b958ad..0a8aeb832632 100644
|
||
|
|
--- a/tests/cpp/target/parsers/aprofile_test.cc
|
||
|
|
+++ b/tests/cpp/target/parsers/aprofile_test.cc
|
||
|
|
@@ -317,7 +317,12 @@ TEST_F(AProfileParser, DefaultSVESupportSVESupport) {
|
||
|
|
TargetJSON target = ParseTargetWithAttrs("", "aarch64-arm-none-eabi", {arch_attr});
|
||
|
|
TargetFeatures features = Downcast<TargetFeatures>(target.at("features"));
|
||
|
|
EXPECT_TRUE(IsArch(target));
|
||
|
|
+#if TVM_LLVM_VERSION >= 190
|
||
|
|
+ // The generic aarch64 should not have SVE enabled
|
||
|
|
+ EXPECT_FALSE(Downcast<Bool>(features.at("has_sve")));
|
||
|
|
+#else
|
||
|
|
EXPECT_TRUE(Downcast<Bool>(features.at("has_sve")));
|
||
|
|
+#endif
|
||
|
|
|
||
|
|
// Check that the "has_sve" feature is set when "+sve" is explicitly set as an attribute.
|
||
|
|
target = ParseTargetWithAttrs("", "aarch64-arm-none-eabi", {arch_attr, "+sve"});
|
||
|
|
@@ -359,7 +364,12 @@ TEST_F(AProfileParser, DefaultFP16Support) {
|
||
|
|
TargetJSON target = ParseTargetWithAttrs("", "aarch64-arm-none-eabi", {arch_attr});
|
||
|
|
TargetFeatures features = Downcast<TargetFeatures>(target.at("features"));
|
||
|
|
EXPECT_TRUE(IsArch(target));
|
||
|
|
+#if TVM_LLVM_VERSION >= 190
|
||
|
|
+ // The generic aarch64 should not have FP16 enabled
|
||
|
|
+ EXPECT_FALSE(Downcast<Bool>(features.at("has_fp16_simd")));
|
||
|
|
+#else
|
||
|
|
EXPECT_TRUE(Downcast<Bool>(features.at("has_fp16_simd")));
|
||
|
|
+#endif
|
||
|
|
|
||
|
|
// Check that the "has_fp16_simd" feature is set when "+fullfp16" is explicitly set as an
|
||
|
|
// attribute.
|
||
|
|
diff --git a/tests/cpp/tir_scalable_datatype.cc b/tests/cpp/tir_scalable_datatype.cc
|
||
|
|
index ccb43a81d8f1..6c42972d9430 100644
|
||
|
|
--- a/tests/cpp/tir_scalable_datatype.cc
|
||
|
|
+++ b/tests/cpp/tir_scalable_datatype.cc
|
||
|
|
@@ -187,12 +187,21 @@ TEST(ScalableDataType, TestScalableUInt) {
|
||
|
|
#if TVM_LLVM_VERSION >= 130
|
||
|
|
TEST(ScalableDataType, TestScalableIntrinCall) {
|
||
|
|
tvm::DataType scalable_type = tvm::DataType(kDLInt, 32, 4, true);
|
||
|
|
- tvm::tir::Call call = tvm::tir::Call(
|
||
|
|
- scalable_type, tvm::tir::builtin::call_llvm_intrin(),
|
||
|
|
- {tvm::IntImm(tvm::DataType::Int(32), ::llvm::Intrinsic::experimental_stepvector)});
|
||
|
|
+ tvm::tir::Call call =
|
||
|
|
+ tvm::tir::Call(scalable_type, tvm::tir::builtin::call_llvm_intrin(),
|
||
|
|
+#if TVM_LLVM_VERSION >= 200
|
||
|
|
+ {tvm::IntImm(tvm::DataType::Int(32), ::llvm::Intrinsic::stepvector)});
|
||
|
|
+#else
|
||
|
|
+ {tvm::IntImm(tvm::DataType::Int(32),
|
||
|
|
+ ::llvm::Intrinsic::experimental_stepvector)});
|
||
|
|
+#endif
|
||
|
|
ASSERT_EQ(call->dtype, scalable_type);
|
||
|
|
ASSERT_EQ(call->Script(),
|
||
|
|
+#if TVM_LLVM_VERSION >= 200
|
||
|
|
+ "T.call_llvm_intrin(\"int32xvscalex4\", \"llvm.stepvector\")");
|
||
|
|
+#else
|
||
|
|
"T.call_llvm_intrin(\"int32xvscalex4\", \"llvm.experimental.stepvector\")");
|
||
|
|
+#endif
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
|