On Sun, 8 Oct 2023, Juzhe-Zhong wrote: > As this showed: https://godbolt.org/z/3K9oK7fx3 > > ARM SVE 2 times for FOLD_EXTRACT_LAST wheras RVV 4 times. > > This is because RISC-V doesn't enable vec_pack_trunc so we will failed > conversion and fold_extract_last at the first time analysis. > Then we succeed at the second time. > > So RVV has 4 times of showing "FOLD_EXTRACT_LAST:.
OK > gcc/testsuite/ChangeLog: > > * gcc.dg/vect/vect-cond-reduc-4.c: Add vect_pack_trunc variant. > > --- > gcc/testsuite/gcc.dg/vect/vect-cond-reduc-4.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-4.c > b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-4.c > index 8820075b1dc..8ea8c538713 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-4.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-cond-reduc-4.c > @@ -42,6 +42,7 @@ main (void) > } > > /* { dg-final { scan-tree-dump-times "LOOP VECTORIZED" 2 "vect" } } */ > -/* { dg-final { scan-tree-dump-times "optimizing condition reduction with > FOLD_EXTRACT_LAST" 2 "vect" { target vect_fold_extract_last } } } */ > +/* { dg-final { scan-tree-dump-times "optimizing condition reduction with > FOLD_EXTRACT_LAST" 2 "vect" { target { vect_fold_extract_last && > vect_pack_trunc } } } } */ > +/* { dg-final { scan-tree-dump-times "optimizing condition reduction with > FOLD_EXTRACT_LAST" 4 "vect" { target { { vect_fold_extract_last } && { ! > vect_pack_trunc } } } } } */ > /* { dg-final { scan-tree-dump-times "condition expression based on integer > induction." 2 "vect" { target { ! vect_fold_extract_last } } } } */ > > -- Richard Biener <rguent...@suse.de> SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)