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.

Change-Id: Ia460c8fad9a77e2408bfb2189bda12f22669cd3f
---
 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 b69ade33886..72811eb852e 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 1e4b56ee0e1..37908c911ab 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 53c9b84ca01..dfbb2171c00 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 e9db8285b66..c2ad58f69e7 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 607f3178f90..bfdcbaa09fb 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 cd13d826937..e46b0cc3135 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 258d253f401..14411ef43ed 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 3baafca7b54..f40def5dddf 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 bcfbe198a3f..63866390835 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 e3bf13b14fa..78ad74b5d49 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"
-- 
2.34.1

Reply via email to