Two tests currently XPASS on 64-bit Solaris/SPARC:

XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorized 1 loops" 1
XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorizing stmts using 
SLP" 1

XPASS: gcc.dg/vect/slp-multitypes-3.c scan-tree-dump-times vect "vectorized 1 
loops" 1
XPASS: gcc.dg/vect/slp-multitypes-3.c scan-tree-dump-times vect "vectorizing 
stmts using SLP" 2

Both tests are currently xfail'ed on sparc*-*-*.  The following patch
restricts that to 32-bit SPARC instead.

Tested on sparc-sun-solaris2.11 and i386-pc-solaris2.11.

Ok for trunk?

However, I wonder if there shouldn't be some effective-target keyword for
this difference instead of the target-specific xfail (probably not worth
it) or if restricing the xfail like this is just a hack.

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


2026-01-05  Rainer Orth  <[email protected]>

        gcc/testsuite:
        PR tree-optimization/102954
        * gcc.dg/vect/pr33804.c (scan-tree-dump-times): Only
        xfail on 32-bit SPARC.
        * gcc.dg/vect/slp-multitypes-3.c: Likewise.

# HG changeset patch
# Parent  69a445e7c2dfdd087d6d0b52a8ba3cacd0c6dc81
testsuite: Only xfail gcc.dg/vect/slp-multitypes-3.c on 32-bit SPARC

diff --git a/gcc/testsuite/gcc.dg/vect/pr33804.c b/gcc/testsuite/gcc.dg/vect/pr33804.c
--- a/gcc/testsuite/gcc.dg/vect/pr33804.c
+++ b/gcc/testsuite/gcc.dg/vect/pr33804.c
@@ -13,5 +13,5 @@ void f(unsigned char *s, unsigned char *
     }
 }
 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { sparc*-*-* && ilp32 } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { xfail { sparc*-*-* && ilp32 } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/slp-multitypes-3.c b/gcc/testsuite/gcc.dg/vect/slp-multitypes-3.c
--- a/gcc/testsuite/gcc.dg/vect/slp-multitypes-3.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-multitypes-3.c
@@ -88,5 +88,5 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail sparc*-*-* } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { xfail sparc*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { sparc*-*-* && ilp32 } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { xfail { sparc*-*-* && ilp32 } } } } */

Reply via email to