https://gcc.gnu.org/g:2be505ace7e5e29a29ab53025762cf1a100a6d76

commit r16-4904-g2be505ace7e5e29a29ab53025762cf1a100a6d76
Author: Lulu Cheng <[email protected]>
Date:   Thu Mar 6 16:28:08 2025 +0800

    LoongArch: Remove the "-mlasx" compilation option from the test cases.
    
    Because LoongArch previously lacked support for 128-bit vectors
    (vec_widen_{add/sub/mult}_{hi/lo}), the following test cases
    needed to be enabled for 256-bit vectors to pass.
    Now that 128-bit support has been added, "-mlasx" has been removed.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.dg/vect/slp-widen-mult-half.c: Remove '-mlasx'.
            * gcc.dg/vect/tree-vect.h: Check whether the runtime
            environment supports LSX instructions.
            * gcc.dg/vect/vect-widen-mult-const-s16.c: Dito.
            * gcc.dg/vect/vect-widen-mult-const-u16.c: Dito.
            * gcc.dg/vect/vect-widen-mult-half-u8.c: Dito.
            * gcc.dg/vect/vect-widen-mult-half.c: Dito.
            * gcc.dg/vect/vect-widen-mult-u16.c: Dito.
            * gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: Dito.
            * gcc.dg/vect/vect-widen-mult-u8-u32.c: Dito.
            * gcc.dg/vect/vect-widen-mult-u8.c: Dito.

Diff:
---
 gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c        | 1 -
 gcc/testsuite/gcc.dg/vect/tree-vect.h                  | 2 ++
 gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c  | 1 -
 gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c  | 1 -
 gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c    | 1 -
 gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c       | 1 -
 gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c        | 1 -
 gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-s16-s32.c | 1 -
 gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-u32.c     | 1 -
 gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c         | 1 -
 10 files changed, 2 insertions(+), 9 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c 
b/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c
index b69ade338862..72811eb852e5 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c
@@ -1,7 +1,6 @@
 /* Disabling epilogues until we find a better way to deal with scans.  */
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_int } */
-/* { dg-additional-options "-mlasx" { target loongarch*-*-* } } */
 
 #include "tree-vect.h"
 
diff --git a/gcc/testsuite/gcc.dg/vect/tree-vect.h 
b/gcc/testsuite/gcc.dg/vect/tree-vect.h
index 1e4b56ee0e15..37908c911abb 100644
--- a/gcc/testsuite/gcc.dg/vect/tree-vect.h
+++ b/gcc/testsuite/gcc.dg/vect/tree-vect.h
@@ -76,6 +76,8 @@ check_vect (void)
   }
 #elif defined(__mips_msa)
   asm volatile ("or.v $w0,$w0,$w0");
+#elif defined(__loongarch__)
+  asm volatile ("vor.v\t$vr0,$vr0,$vr0");
 #endif
   signal (SIGILL, SIG_DFL);
 }
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c 
b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c
index 53c9b84ca016..dfbb2171c004 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c
@@ -2,7 +2,6 @@
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_int } */
 /* { dg-additional-options "-fno-ipa-icf" } */
-/* { dg-additional-options "-mlasx" { target loongarch*-*-*} } */
 
 #include "tree-vect.h"
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c 
b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c
index e9db8285b664..c2ad58f69e7f 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c
@@ -2,7 +2,6 @@
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_int } */
 /* { dg-additional-options "-fno-ipa-icf" } */
-/* { dg-additional-options "-mlasx" { target loongarch*-*-*} } */
 
 #include "tree-vect.h"
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c 
b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c
index 607f3178f903..bfdcbaa09fbd 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c
@@ -2,7 +2,6 @@
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_int } */
 /* { dg-additional-options "-fno-ipa-icf" } */
-/* { dg-additional-options "-mlasx" { target loongarch*-*-*} } */
 
 #include "tree-vect.h"
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c 
b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c
index cd13d8269374..e46b0cc3135f 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c
@@ -1,7 +1,6 @@
 /* Disabling epilogues until we find a better way to deal with scans.  */
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_int } */
-/* { dg-additional-options "-mlasx" { target loongarch*-*-*} } */
 
 #include "tree-vect.h"
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c 
b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c
index 258d253f4014..14411ef43eda 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c
@@ -1,7 +1,6 @@
 /* Disabling epilogues until we find a better way to deal with scans.  */
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_int } */
-/* { dg-additional-options "-mlasx" { target loongarch*-*-*} } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-s16-s32.c 
b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-s16-s32.c
index 3baafca7b548..f40def5dddf5 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-s16-s32.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-s16-s32.c
@@ -1,7 +1,6 @@
 /* Disabling epilogues until we find a better way to deal with scans.  */
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_int } */
-/* { dg-additional-options "-mlasx" { target loongarch*-*-*} } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-u32.c 
b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-u32.c
index bcfbe198a3ff..63866390835c 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-u32.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-u32.c
@@ -1,6 +1,5 @@
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_int } */
-/* { dg-additional-options "-mlasx" { target loongarch*-*-* } } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c 
b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c
index e3bf13b14fa5..78ad74b5d499 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c
@@ -1,6 +1,5 @@
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 /* { dg-require-effective-target vect_int } */
-/* { dg-additional-options "-mlasx" { target loongarch*-*-*} } */
 
 #include <stdarg.h>
 #include "tree-vect.h"

Reply via email to