aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>2023-10-10 22:49:13 +0800
committerPan Li <pan2.li@intel.com>2023-10-11 09:07:51 +0800
commitcfe89942673aeb9ee58ab1a3ae9e60ddf1c698c7 (patch)
tree6fe044e5f7a1f4783ac6f91e943bea37f15dad17
parent69e3072c30c5159d0e99b41468330dcbbd3ca5da (diff)
downloadgcc-cfe89942673aeb9ee58ab1a3ae9e60ddf1c698c7.zip
gcc-cfe89942673aeb9ee58ab1a3ae9e60ddf1c698c7.tar.gz
gcc-cfe89942673aeb9ee58ab1a3ae9e60ddf1c698c7.tar.bz2
RISC-V Regression: Fix FAIL of vect-multitypes-16.c for RVV
As Richard suggested: https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632288.html Add vect_ext_char_longlong to fix FAIL for RVV. gcc/testsuite/ChangeLog: * gcc.dg/vect/vect-multitypes-16.c: Adapt check for RVV. * lib/target-supports.exp: Add vect_ext_char_longlong property.
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-multitypes-16.c4
-rw-r--r--gcc/testsuite/lib/target-supports.exp9
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/testsuite/gcc.dg/vect/vect-multitypes-16.c b/gcc/testsuite/gcc.dg/vect/vect-multitypes-16.c
index a61f1a9..fd17ad7 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-multitypes-16.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-multitypes-16.c
@@ -35,6 +35,6 @@ int main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_unpack } } } */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vect_unpack } } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { vect_unpack } || { vect_variable_length && vect_ext_char_longlong } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { { ! vect_unpack } && {! { vect_variable_length && vect_ext_char_longlong } } } } } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 95c489d..b454b07 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -4215,6 +4215,15 @@ proc check_effective_target_vect_floatuint_cvt { } {
&& [check_effective_target_riscv_v]) }}]
}
+# Return 1 if the target supports vector integer char -> long long extend optab
+#
+
+proc check_effective_target_vect_ext_char_longlong { } {
+ return [check_cached_effective_target_indexed vect_ext_char_longlong {
+ expr { ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
+}
+
# Return 1 if peeling for alignment might be profitable on the target
#