This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Suitable regression test for vectorizer patches?
- From: Joern Wolfgang Rennecke <joern dot rennecke at riscy-ip dot com>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 29 Oct 2018 17:57:40 +0000
- Subject: Suitable regression test for vectorizer patches?
I want to submit some vectorizer patches, what would be a suitable
regression test?
Preferably some native or cross test that can run on an i7 x86_64
GNU/Linux machine.
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.