https://gcc.gnu.org/g:3d95788a3d34f04b3840136935f398d640c967ff

commit 3d95788a3d34f04b3840136935f398d640c967ff
Author: Alexandre Oliva <[email protected]>
Date:   Tue Mar 10 04:18:45 2026 -0300

    testsuite: vect: ppc: no SLP of unaligned stores on altivec
    
    Altivec can't handle unaligned stores, which these two tests rely on,
    for storing in arrays that aren't known to be sufficiently aligned for
    the use of vector stores.
    
    Check for support for realigned or misaligned stores as a precondition
    for the expected SLP vectorization.  This relies on an effective
    target added by another patch in this series.
    
    
    for  gcc/testsuite/ChangeLog
    
            * gcc.dg/vect/bb-slp-conditional_store_1.c: Don't require SLP
            vectorization if stores can't be realigned or misaligned.
            * gcc.dg/vect/bb-slp-layout-20.c: Likewise.

Diff:
---
 gcc/testsuite/gcc.dg/vect/bb-slp-conditional_store_1.c | 3 ++-
 gcc/testsuite/gcc.dg/vect/bb-slp-layout-20.c           | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-conditional_store_1.c 
b/gcc/testsuite/gcc.dg/vect/bb-slp-conditional_store_1.c
index 650a3bfbfb1d..b1b198fd23f6 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-conditional_store_1.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-conditional_store_1.c
@@ -12,4 +12,5 @@ void foo3 (float *restrict a, int *restrict c)
     c[i] = a[i] > 1.0;
 }
 
-/* { dg-final { scan-tree-dump "vectorized using SLP" "slp1" } } */
+/* Altivec cannot slp-vectorize the stores that aren't known to be 
vector-aligned.  */
+/* { dg-final { scan-tree-dump "vectorized using SLP" "slp1" { target { ! { 
vect_no_store_align && { ! vect_hw_misalign } } } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-20.c 
b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-20.c
index ed7816b3f7b8..ba8577fd4f98 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-20.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-20.c
@@ -30,4 +30,5 @@ 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 } } } } */
+/* Altivec cannot slp-vectorize the stores that aren't known to be 
vector-aligned.  */
+/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = 
VEC_PERM_EXPR" 3 "slp1" { target { { vect_int_mult && vect_perm } && { ! { 
vect_no_store_align && { ! vect_hw_misalign } } } } } } } */

Reply via email to