66 lines
1.8 KiB
Diff
66 lines
1.8 KiB
Diff
From b75f00086e863ac7e9e1ee37f8107b199cf62550 Mon Sep 17 00:00:00 2001
|
|
From: Chenghui Pan <panchenghui@loongson.cn>
|
|
Date: Fri, 25 Oct 2024 00:58:01 +0000
|
|
Subject: [PATCH 007/188] LoongArch: Enable vect.exp for LoongArch. [PR111424]
|
|
|
|
gcc/testsuite/ChangeLog:
|
|
|
|
PR target/111424
|
|
* lib/target-supports.exp: Enable vect.exp for LoongArch.
|
|
---
|
|
gcc/testsuite/lib/target-supports.exp | 31 +++++++++++++++++++++++++++
|
|
1 file changed, 31 insertions(+)
|
|
|
|
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
|
|
index 192e0aded..bbe145c1c 100644
|
|
--- a/gcc/testsuite/lib/target-supports.exp
|
|
+++ b/gcc/testsuite/lib/target-supports.exp
|
|
@@ -10535,6 +10535,13 @@ proc check_vect_support_and_set_flags { } {
|
|
}
|
|
} elseif [istarget amdgcn-*-*] {
|
|
set dg-do-what-default run
|
|
+ } elseif [istarget loongarch*-*-*] {
|
|
+ lappend DEFAULT_VECTCFLAGS "-mdouble-float" "-mlasx"
|
|
+ if [check_effective_target_loongarch_asx_hw] {
|
|
+ set dg-do-what-default run
|
|
+ } else {
|
|
+ set dg-do-what-default compile
|
|
+ }
|
|
} else {
|
|
return 0
|
|
}
|
|
@@ -10542,6 +10549,30 @@ proc check_vect_support_and_set_flags { } {
|
|
return 1
|
|
}
|
|
|
|
+proc check_effective_target_loongarch_sx_hw { } {
|
|
+ return [check_runtime loongarch_sx_hw {
|
|
+ #include <lsxintrin.h>
|
|
+ int main (void)
|
|
+ {
|
|
+ __m128i a, b, c;
|
|
+ c = __lsx_vand_v (a, b);
|
|
+ return 0;
|
|
+ }
|
|
+ } "-mlsx"]
|
|
+}
|
|
+
|
|
+proc check_effective_target_loongarch_asx_hw { } {
|
|
+ return [check_runtime loongarch_asx_hw {
|
|
+ #include <lasxintrin.h>
|
|
+ int main (void)
|
|
+ {
|
|
+ __m256i a, b, c;
|
|
+ c = __lasx_xvand_v (a, b);
|
|
+ return 0;
|
|
+ }
|
|
+ } "-mlasx"]
|
|
+}
|
|
+
|
|
# Return 1 if the target does *not* require strict alignment.
|
|
|
|
proc check_effective_target_non_strict_align {} {
|
|
--
|
|
2.43.0
|
|
|