]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
LoongArch: testsuite:Added additional vectorization "-mlasx" compilation option.
authorchenxiaolong <chenxiaolong@loongson.cn>
Fri, 5 Jan 2024 03:43:28 +0000 (11:43 +0800)
committerLulu Cheng <chenglulu@loongson.cn>
Fri, 5 Jan 2024 12:28:02 +0000 (20:28 +0800)
In the LoongArch architecture, the reason for not adding the 128-bit
vector-width-*hi* instruction template in the GCC back end is that it causes
program performance loss, so we can only add the "-mlasx" compilation option
to use 256-bit vectorization functions in test files.

gcc/testsuite/ChangeLog:

* gcc.dg/vect/bb-slp-pattern-1.c: If you are testing on the
LoongArch architecture, you need to add the "-mlasx" compilation
option to generate vectorized code.
* gcc.dg/vect/slp-widen-mult-half.c: Dito.
* 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.

gcc/testsuite/gcc.dg/vect/bb-slp-pattern-1.c
gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c
gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-s16.c
gcc/testsuite/gcc.dg/vect/vect-widen-mult-const-u16.c
gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c
gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c
gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c
gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-s16-s32.c
gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8-u32.c
gcc/testsuite/gcc.dg/vect/vect-widen-mult-u8.c

index a3ff0f5b3da2f25ce62a5e9fabe5b38e9b952fa9..5ae99225273ca5f915f60ecba3a5aaedebe46e96 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_int } */
+/* { dg-additional-options "-mlasx" { target loongarch*-*-* } } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
index 72811eb852e5ed51ed5f5d042fac4e9b487911c2..b69ade338862cda4f44f5206d195eef1cb5e8d36 100644 (file)
@@ -1,6 +1,7 @@
 /* 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"
 
index dfbb2171c004565045d91605354b5d6e7219ab19..53c9b84ca01630bd4b7de8f3c47c18deeab5e8f8 100644 (file)
@@ -2,6 +2,7 @@
 /* { 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"
 
index c2ad58f69e7fe5b62a9fbc55dd5dab43ba785104..e9db8285b664a4a455f55bab805d8779c23defac 100644 (file)
@@ -2,6 +2,7 @@
 /* { 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"
 
index bfdcbaa09fbd42a16197023b09087cee6642105a..607f3178f903efe8193faa9c0de5ce658804b0fb 100644 (file)
@@ -2,6 +2,7 @@
 /* { 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"
 
index e46b0cc3135fd982b07e0824955654f0ebc59506..cd13d8269374bf8a5c8a9694abeffcc8a6e381d2 100644 (file)
@@ -1,6 +1,7 @@
 /* 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"
 
index 14411ef43eda2ff348de9c9c1540e1359f20f55b..258d253f401459d448d1ae86f56b0c97815d5b61 100644 (file)
@@ -1,6 +1,7 @@
 /* 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"
index f40def5dddf58f6a6661d9c286b774f954126840..3baafca7b548124ae5c48fdf3c2f07c319155967 100644 (file)
@@ -1,6 +1,7 @@
 /* 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"
index 63866390835c55e53b6f90f305a71bbdbff85afa..bcfbe198a3ff92bc24ed1f7a5b591403eed000d5 100644 (file)
@@ -1,5 +1,6 @@
 /* { 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"
index 78ad74b5d499c23256e4ca38a82fefde8720e4e9..e3bf13b14fa539e17db32e60833b7edc4c19aaf2 100644 (file)
@@ -1,5 +1,6 @@
 /* { 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"