On Thu, 5 Aug 2021, Christophe Lyon wrote: > On Wed, Aug 4, 2021 at 12:33 PM Richard Biener <rguent...@suse.de> wrote: > > > The following avoids vectorizing MIN/MAX reductions on bools which, > > when ending up as vector(2) <signed-boolean:64> would need to be > > adjusted because of the sign change. The fix instead avoids any > > reduction vectorization where the result isn't compatible > > to the original scalar type since we don't compensate for that > > either. > > > > Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. > > > > 2021-08-04 Richard Biener <rguent...@suse.de> > > > > PR tree-optimization/101756 > > * tree-vect-slp.c (vectorizable_bb_reduc_epilogue): Make sure > > the result of the reduction epilogue is compatible to the original > > scalar result. > > > > * gcc.dg/vect/bb-slp-pr101756.c: New testcase. > > > > Hi, > > The new testcase fails on aarch64 because: > FAIL: gcc.dg/vect/bb-slp-pr101756.c (test for excess errors) > Excess errors: > /gcc/testsuite/gcc.dg/vect/bb-slp-pr101756.c:4:1: warning: GCC does not > currently support mixed size types for 'simd' functions > > Can you check?
I have pushed >From 425fce297da1696b4b5178e533d823f13fb250a5 Mon Sep 17 00:00:00 2001 From: Richard Biener <rguent...@suse.de> Date: Thu, 5 Aug 2021 11:39:50 +0200 Subject: [PATCH] Adjust gcc.dg/vect/bb-slp-pr101756.c To: gcc-patches@gcc.gnu.org This adjusts the testcase for excess diagnostics emitted by some targets because of the attribute simd usage like warning: GCC does not currently support mixed size types for 'simd' functions on aarch64. 2021-08-05 Richard Biener <rguent...@suse.de> * gcc.dg/vect/bb-slp-pr101756.c: Add -w. --- gcc/testsuite/gcc.dg/vect/bb-slp-pr101756.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr101756.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr101756.c index 9420e77f64e..de7f1806926 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr101756.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr101756.c @@ -1,4 +1,6 @@ /* { dg-do compile } */ +/* SIMD support can emit additional diagnostics. */ +/* { dg-additional-options "-w" } */ __attribute__ ((simd)) int tq (long int ea, int of, int kk) -- 2.31.1