From b75f00086e863ac7e9e1ee37f8107b199cf62550 Mon Sep 17 00:00:00 2001 From: Chenghui Pan 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 + 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 + 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