aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJiufu Guo <guojiufu@linux.ibm.com>2023-04-18 15:56:53 +0800
committerJiufu Guo <guojiufu@linux.ibm.com>2023-04-20 11:19:24 +0800
commit57e7229a29ca0e9929b61051e4f5857f0b41b6c7 (patch)
tree359da36d286548bb7486deaddf855de3c74f7bf0 /gcc
parent24a8acc1662c37003a7b54814bf840019fec2190 (diff)
downloadgcc-57e7229a29ca0e9929b61051e4f5857f0b41b6c7.zip
gcc-57e7229a29ca0e9929b61051e4f5857f0b41b6c7.tar.gz
gcc-57e7229a29ca0e9929b61051e4f5857f0b41b6c7.tar.bz2
PR testsuite/106879 FAIL: gcc.dg/vect/bb-slp-layout-19.c on powerpc64
On P7, option -mno-allow-movmisalign is added during testing, which prevents slp happen on the case. Like PR65484 and PR87306, this patch use vect_hw_misalign to guard the case on powerpc targets. gcc/testsuite/ChangeLog: PR testsuite/106879 * gcc.dg/vect/bb-slp-layout-19.c: Modify to guard the check with vect_hw_misalign on POWERs.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
index f075a83..847a07b 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
@@ -31,4 +31,9 @@ void f()
e[3] = b3;
}
-/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { vect_int_mult && vect_perm } } } } */
+/* On older powerpc hardware (POWER7 and earlier), the default flag
+ -mno-allow-movmisalign prevents vectorization. On POWER8 and later,
+ when vect_hw_misalign is true, vectorization occurs. For other
+ targets, ! vect_no_align is a sufficient test. */
+
+/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { { vect_int_mult && vect_perm } && { { ! powerpc*-*-* } || { vect_hw_misalign } } } } } } */