[PATCH] testsuite: Small tweaks for recent test FAILs on ia32
Jakub Jelinek <[email protected]>
| Newsgroups | gmane.comp.gcc.patches |
|---|---|
| Message-ID | <aoQKEZMaFZvYZyBH@tucnak> |
Hi!
I'm seeing various recent FAILs on ia32.
+FAIL: gcc.dg/tree-ssa/divmul-mod-1.c (test for excess errors)
+FAIL: gcc.dg/tree-ssa/round-up-ior-1.c (test for excess errors)
+FAIL: gcc.dg/tree-ssa/vec-mask-zero-1.c (test for excess errors)
+FAIL: gcc.dg/tree-ssa/vec-mask-zero-1.c scan-tree-dump-times optimized " != " 2
+FAIL: gcc.dg/tree-ssa/vec-mask-zero-1.c scan-tree-dump-times optimized " & " 2
+FAIL: gcc.dg/tree-ssa/vec-mask-zero-1.c scan-tree-dump-times optimized " == " 2
+FAIL: gcc.dg/tree-ssa/vec-mask-zero-1.c scan-tree-dump-times optimized " \\\\| " 2
+FAIL: gcc.dg/tree-ssa/vector-alignup-1.c (test for excess errors)
+FAIL: gcc.dg/tree-ssa/vector-alignup-1.c scan-tree-dump-times optimized " & " 2
+FAIL: gcc.dg/tree-ssa/vector-alignup-1.c scan-tree-dump-times optimized " \\\\+ " 2
+FAIL: g++.dg/tree-ssa/vec-narrow-1.C -std=gnu++11 scan-tree-dump-not optimized "vector\\\\(2\\\\) long"
+FAIL: g++.dg/tree-ssa/vec-narrow-1.C -std=gnu++14 scan-tree-dump-not optimized "vector\\\\(2\\\\) long"
+FAIL: g++.dg/tree-ssa/vec-narrow-1.C -std=gnu++17 scan-tree-dump-not optimized "vector\\\\(2\\\\) long"
+FAIL: g++.dg/tree-ssa/vec-narrow-1.C -std=gnu++20 scan-tree-dump-not optimized "vector\\\\(2\\\\) long"
+FAIL: g++.dg/tree-ssa/vec-narrow-1.C -std=gnu++23 scan-tree-dump-not optimized "vector\\\\(2\\\\) long"
+FAIL: g++.dg/tree-ssa/vec-narrow-1.C -std=gnu++26 scan-tree-dump-not optimized "vector\\\\(2\\\\) long"
+FAIL: g++.dg/tree-ssa/vec-narrow-1.C -std=gnu++29 scan-tree-dump-not optimized "vector\\\\(2\\\\) long"
+FAIL: g++.dg/tree-ssa/vec-narrow-1.C -std=gnu++98 scan-tree-dump-not optimized "vector\\\\(2\\\\) long"
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++11 scan-tree-dump-times optimized "MIN_EXPR" 1
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++11 (test for excess errors)
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++14 scan-tree-dump-times optimized "MIN_EXPR" 1
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++14 (test for excess errors)
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++17 scan-tree-dump-times optimized "MIN_EXPR" 1
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++17 (test for excess errors)
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++20 scan-tree-dump-times optimized "MIN_EXPR" 1
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++20 (test for excess errors)
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++23 scan-tree-dump-times optimized "MIN_EXPR" 1
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++23 (test for excess errors)
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++26 scan-tree-dump-times optimized "MIN_EXPR" 1
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++26 (test for excess errors)
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++29 scan-tree-dump-times optimized "MIN_EXPR" 1
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++29 (test for excess errors)
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++98 scan-tree-dump-times optimized "MIN_EXPR" 1
+FAIL: g++.dg/tree-ssa/vec-narrow-minmax-2.C -std=gnu++98 (test for excess errors)
The following patch fixes the gcc.dg ones and the excess errors in
vec-narrow-minmax-2.C.
vec-narrow-1.C still fails on ia32, dunno why (added at least -mmmx but it
didn't help, unlike x86_64 ia32 doesn't emulate MMX sized vectors in SSE2),
and the MIN_EXPR scans fail before/after on both x86_64 and ia32.
Tested on x86_64-linux with
GXX_TESTSUITE_STDS=98,11,14,17,20,23,26,29 make check-gcc check-g++ RUNTESTFLAGS="--target_board=unix\{-m64,-m32,-m32/-mno-sse/-mno-mmx\} tree-ssa.exp='divmul-mod-1.c round-up-ior-1.c vec-mask-zero-1.c vector-alignup-1.c' dg.exp='vec-narrow-minmax-2.C vec-narrow-1.C'"
Ok for trunk?
2026-08-18 Jakub Jelinek <[email protected]>
* gcc.dg/tree-ssa/divmul-mod-1.c: Add -Wno-psabi to dg-options.
* gcc.dg/tree-ssa/round-up-ior-1.c: Likewise.
* gcc.dg/tree-ssa/vec-mask-zero-1.c: Require vect_int effective
target. Add -Wno-psabi to dg-options and add -msse2 as
dg-additional-options on ia32.
* gcc.dg/tree-ssa/vector-alignup-1.c: Add -msse2 as
dg-additional-options on ia32.
* g++.dg/tree-ssa/vec-narrow-minmax-2.C: Add -Wno-psabi to dg-options.
* g++.dg/tree-ssa/vec-narrow-1.C: Likewise. Add -mmmx as
dg-additional-options on ia32.
--- gcc/testsuite/gcc.dg/tree-ssa/divmul-mod-1.c.jj 2026-08-17 10:00:21.910853874 +0200
+++ gcc/testsuite/gcc.dg/tree-ssa/divmul-mod-1.c 2026-08-18 09:04:09.860550950 +0200
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* { dg-options "-O2 -fdump-tree-optimized -Wno-psabi" } */
typedef int v4si __attribute__ ((vector_size (16)));
typedef unsigned int v4ui __attribute__ ((vector_size (16)));
--- gcc/testsuite/gcc.dg/tree-ssa/round-up-ior-1.c.jj 2026-08-17 10:00:21.911853861 +0200
+++ gcc/testsuite/gcc.dg/tree-ssa/round-up-ior-1.c 2026-08-18 09:04:27.078324715 +0200
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* { dg-options "-O2 -fdump-tree-optimized -Wno-psabi" } */
typedef unsigned int v4ui __attribute__ ((vector_size (16)));
--- gcc/testsuite/gcc.dg/tree-ssa/vec-mask-zero-1.c.jj 2026-08-17 10:00:21.911853861 +0200
+++ gcc/testsuite/gcc.dg/tree-ssa/vec-mask-zero-1.c 2026-08-18 09:13:52.013896106 +0200
@@ -1,5 +1,6 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* { dg-do compile { target vect_int } } */
+/* { dg-options "-O2 -fdump-tree-optimized -Wno-psabi" } */
+/* { dg-additional-options "-msse2" { target ia32 } } */
/* Combine pairs of vector comparisons against zero or all-ones. Use
different signedness for the operands to exercise the view conversion. */
typedef int v4si __attribute__((vector_size (16)));
--- gcc/testsuite/gcc.dg/tree-ssa/vector-alignup-1.c.jj 2026-08-06 17:46:47.582463890 +0200
+++ gcc/testsuite/gcc.dg/tree-ssa/vector-alignup-1.c 2026-08-18 09:09:39.285220615 +0200
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target vect_int } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* { dg-additional-options "-msse2" { target ia32 } } */
/* Rounding up by adding the padding, spelled with vectors. */
--- gcc/testsuite/g++.dg/tree-ssa/vec-narrow-minmax-2.C.jj 2026-08-17 10:00:21.908853899 +0200
+++ gcc/testsuite/g++.dg/tree-ssa/vec-narrow-minmax-2.C 2026-08-18 09:14:45.021198826 +0200
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-O2 -fdump-tree-optimized" }
+// { dg-options "-O2 -fdump-tree-optimized -Wno-psabi" }
typedef int v2si __attribute__((vector_size (8)));
typedef long long v2di __attribute__((vector_size (16)));
--- gcc/testsuite/g++.dg/tree-ssa/vec-narrow-1.C.jj 2026-08-17 10:00:21.908853899 +0200
+++ gcc/testsuite/g++.dg/tree-ssa/vec-narrow-1.C 2026-08-18 09:11:57.800398527 +0200
@@ -1,6 +1,7 @@
// { dg-do compile }
-// { dg-options "-O2 -fdump-tree-optimized" }
+// { dg-options "-O2 -fdump-tree-optimized -Wno-psabi" }
// { dg-additional-options "-mavx512vl -mavx512dq" { target { i?86-*-* x86_64-*-* } } }
+// { dg-additional-options "-mmmx" { target ia32 } }
// Extension is monotone, so it commutes with the comparison and the outer
// truncation is exact. The argument is lanewise, so a widened vector
// MIN/MAX feeding a truncating conversion narrows.
Jakub