On Thu, Nov 21, 2024 at 01:30:39PM +0100, Christoph Müllner wrote: > > > * gcc.dg/tree-ssa/satd-hadamard.c: New test. > > > * gcc.dg/tree-ssa/vector-10.c: New test. > > > * gcc.dg/tree-ssa/vector-8.c: New test. > > > * gcc.dg/tree-ssa/vector-9.c: New test.
I see FAILs on i686-linux or on x86_64-linux (in the latter with -m32 testing). One problem is that vector-10.c doesn't use -Wno-psabi option and uses a function which returns a vector and takes vector as first parameter, the other problems are that 3 other tests don't arrange for at least basic vector ISA support, plus non-standardly test only on x86_64-*-*, while normally one would allow both i?86-*-* x86_64-*-* and if it is e.g. specific to 64-bit, also check for lp64 or int128 or whatever else is needed. E.g. Solaris I think has i?86-*-* triplet even for 64-bit code, etc. The following patch fixes these. Tested on x86_64-linux with make check-gcc RUNTESTFLAGS="--target_board=unix\{-m32,-m32/-mno-mmx/-mno-sse,-m64\} tree-ssa.exp='vector-*.c satd-hadamard.c'" ok for trunk? 2024-11-22 Jakub Jelinek <ja...@redhat.com> * gcc.dg/tree-ssa/satd-hadamard.c: Add -msse2 as dg-additional-options on x86. Also scan-tree-dump on i?86-*-*. * gcc.dg/tree-ssa/vector-8.c: Likewise. * gcc.dg/tree-ssa/vector-9.c: Likewise. * gcc.dg/tree-ssa/vector-10.c: Add -Wno-psabi to dg-additional-options. --- gcc/testsuite/gcc.dg/tree-ssa/satd-hadamard.c.jj 2024-11-22 00:06:56.341057153 +0100 +++ gcc/testsuite/gcc.dg/tree-ssa/satd-hadamard.c 2024-11-22 00:17:38.539656767 +0100 @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-additional-options "-O3 -fdump-tree-forwprop4-details" } */ +/* { dg-additional-options "-msse2" { target i?86-*-* x86_64-*-* } } */ #include <stdint.h> @@ -40,4 +41,4 @@ x264_pixel_satd_8x4_simplified (uint8_t return (((uint16_t)sum) + ((uint32_t)sum>>16)) >> 1; } -/* { dg-final { scan-tree-dump "VEC_PERM_EXPR.*{ 2, 3, 6, 7 }" "forwprop4" { target { aarch64*-*-* x86_64-*-* } } } } */ +/* { dg-final { scan-tree-dump "VEC_PERM_EXPR.*{ 2, 3, 6, 7 }" "forwprop4" { target { aarch64*-*-* i?86-*-* x86_64-*-* } } } } */ --- gcc/testsuite/gcc.dg/tree-ssa/vector-8.c.jj 2024-11-22 00:06:56.341057153 +0100 +++ gcc/testsuite/gcc.dg/tree-ssa/vector-8.c 2024-11-22 00:16:51.047298247 +0100 @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-additional-options "-O3 -fdump-tree-forwprop1-details" } */ +/* { dg-additional-options "-msse2" { target i?86-*-* x86_64-*-* } } */ typedef int vec __attribute__((vector_size (4 * sizeof (int)))); @@ -30,5 +31,5 @@ void f (vec *p_v_in_1, vec *p_v_in_2, ve *p_v_out_2 = v_out_2; } -/* { dg-final { scan-tree-dump "Vec perm simplify sequences have been blended" "forwprop1" { target { aarch64*-*-* x86_64-*-* } } } } */ -/* { dg-final { scan-tree-dump "VEC_PERM_EXPR.*{ 2, 3, 6, 7 }" "forwprop1" { target { aarch64*-*-* x86_64-*-* } } } } */ +/* { dg-final { scan-tree-dump "Vec perm simplify sequences have been blended" "forwprop1" { target { aarch64*-*-* i?86-*-* x86_64-*-* } } } } */ +/* { dg-final { scan-tree-dump "VEC_PERM_EXPR.*{ 2, 3, 6, 7 }" "forwprop1" { target { aarch64*-*-* i?86-*-* x86_64-*-* } } } } */ --- gcc/testsuite/gcc.dg/tree-ssa/vector-9.c.jj 2024-11-22 00:06:56.341057153 +0100 +++ gcc/testsuite/gcc.dg/tree-ssa/vector-9.c 2024-11-22 00:17:16.050960523 +0100 @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-additional-options "-O3 -fdump-tree-forwprop1-details" } */ +/* { dg-additional-options "-msse2" { target i?86-*-* x86_64-*-* } } */ typedef int vec __attribute__((vector_size (4 * sizeof (int)))); @@ -30,5 +31,5 @@ void f (vec *p_v_in_1, vec *p_v_in_2, ve *p_v_out_2 = v_out_2; } -/* { dg-final { scan-tree-dump "Vec perm simplify sequences have been blended" "forwprop1" { target { aarch64*-*-* x86_64-*-* } } } } */ -/* { dg-final { scan-tree-dump "VEC_PERM_EXPR.*{ 2, 3, 6, 7 }" "forwprop1" { target { aarch64*-*-* x86_64-*-* } } } } */ +/* { dg-final { scan-tree-dump "Vec perm simplify sequences have been blended" "forwprop1" { target { aarch64*-*-* i?86-*-* x86_64-*-* } } } } */ +/* { dg-final { scan-tree-dump "VEC_PERM_EXPR.*{ 2, 3, 6, 7 }" "forwprop1" { target { aarch64*-*-* i?86-*-* x86_64-*-* } } } } */ --- gcc/testsuite/gcc.dg/tree-ssa/vector-10.c.jj 2024-11-22 00:06:56.341057153 +0100 +++ gcc/testsuite/gcc.dg/tree-ssa/vector-10.c 2024-11-22 00:15:28.875406026 +0100 @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-additional-options "-O3 -fdump-tree-forwprop1-details" } */ +/* { dg-additional-options "-O3 -fdump-tree-forwprop1-details -Wno-psabi" } */ typedef int vec __attribute__((vector_size (4 * sizeof (int)))); Jakub