On Mon, Oct 29, 2018 at 7:03 PM Joern Wolfgang Rennecke <joern.renne...@riscy-ip.com> wrote: > > I want to submit some vectorizer patches, what would be a suitable > regression test?
I am sure you have testcases, no? For new features please make them dg-do run ones by checking correctness. > Preferably some native or cross test that can run on an i7 x86_64 > GNU/Linux machine. You are probably talking about the need for specific HW features? We have dg-requires-effective-target FOO where IIRC there are ones that enable extra options for compilation (look for avx-runtime or so for example). Richard. > > To give an idea what code I'm patching, here are the patches I got so far: > > * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Recognize > unsigned dot product pattern. > > Allow widening multiply-add to be used for DOT_PROF_EXPR reductions. > * tree-vect-data-refs.c (vect_get_smallest_scalar_type): > Treat WIDEN_MULT_PLUS_EXPR like WIDEN_SUM_EXPR. > * tree-vect-loop.c (get_initial_def_for_reduction): Likewise. > Get VECTYPE from STMT_VINFO_VECTYPE. > (vect_determine_vectorization_factor): > Allow vcector size input/output mismatch for reduction. > (vect_analyze_scalar_cycles_1): When we find a phi for a reduction, > put the reduction statement into the phi's STMT_VINFO_RELATED_STMT. > * tree-vect-patterns.c (vect_pattern_recog_1): If DOT_PROD_EXPR > can't > be expanded directly, try to use WIDEN_MULT_PLUS_EXPR instead. > > Fix bug where a vectorizer reduction split (from > TARGET_VECTORIZE_SPLIT_REDUCTION) > would end up not being used. > * tree-vect-loop.c (vect_create_epilog_for_reduction): > If we split the reduction, use the result in Case 3 too.