This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Support vectorizing SLP with mixed plus/minus
- From: Andreas Schwab <schwab at suse dot de>
- To: Richard Biener <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 13 May 2015 10:44:34 +0200
- Subject: Re: [PATCH] Support vectorizing SLP with mixed plus/minus
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot LSU dot 2 dot 11 dot 1505121344280 dot 18702 at zhemvz dot fhfr dot qr>
Richard Biener <firstname.lastname@example.org> writes:
> PR tree-optimization/37021
> * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
> (SLP_TREE_TWO_OPERATORS): New define.
> * tree-vect-slp.c (vect_create_new_slp_node): Initialize
> (vect_build_slp_tree_1): Allow two mixing plus/minus in an
> SLP node.
> (vect_build_slp_tree): Adjust.
> (vect_analyze_slp_cost_1): Likewise.
> (vect_schedule_slp_instance): Vectorize mixing plus/minus by
> emitting two vector stmts and mixing the results.
FAIL: gcc.dg/vect/vect-strided-a-mult.c execution test
on both aarch64 and ia64.
Andreas Schwab, SUSE Labs, email@example.com
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."