Hi,

As the PR comments show, the case gcc.dg/gomp/pr82374.c fails
on Power7 since gcc8.  But it passes from gcc10.  By looking
into the difference, it's due to that gcc10 sets -fno-common
as default, which makes vectorizer force the alignment and
be able to use aligned vector load/store on those targets which
doesn't support unaligned vector load/store (here it's Power7).

As Jakub suggested in the PR, this patch is to append -fno-common
into dg-options.

Verified with gcc8 release on ppc64-redhat-linux (Power7).

Is it ok for gcc8 and gcc9 release?

I guess for gcc10 and trunk, we can just let it alone?

BR,
Kewen
-----
gcc/testsuite/ChangeLog:

        PR testsuite/94077
        * gcc.dg/gomp/pr82374.c: Add option -fno-common.

diff --git a/gcc/testsuite/gcc.dg/gomp/pr82374.c 
b/gcc/testsuite/gcc.dg/gomp/pr82374.c
index 453266e..e63a2f5 100644
--- a/gcc/testsuite/gcc.dg/gomp/pr82374.c
+++ b/gcc/testsuite/gcc.dg/gomp/pr82374.c
@@ -1,6 +1,9 @@
 /* PR tree-optimization/82374 */
 /* { dg-do compile } */
-/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-vect-details" } */
+/* Option -fno-common makes vectorizer able to force alignment and ensures
+   vectorization can succeed even on targets lacking of unaligned vector
+   load/store.  */
+/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-vect-details -fno-common" 
} */
 /* { dg-additional-options "-mavx -mno-avx2" { target i?86-*-* x86_64-*-* } } 
*/
 /* { dg-additional-options "-mvsx" { target powerpc_vsx_ok } } */

Reply via email to