On 22/10/2015 15:15, "Alan Lawrence" <alan.lawre...@arm.com> wrote:
>Just one very small point... > >On 19/10/15 09:17, Alan Hayward wrote: > > > - if (check_reduction > > - && (!commutative_tree_code (code) || !associative_tree_code >(code))) > > + if (check_reduction) > > { > > - if (dump_enabled_p ()) > > - report_vect_op (MSG_MISSED_OPTIMIZATION, def_stmt, > > - "reduction: not commutative/associative: "); > > - return NULL; > > + if (code != COND_EXPR > > + && (!commutative_tree_code (code) || !associative_tree_code >(code))) > > + { > > + if (dump_enabled_p ()) > > + report_vect_op (MSG_MISSED_OPTIMIZATION, def_stmt, > > + "reduction: not commutative/associative: "); > > + return NULL; > > + } > > + > > + if (code == COND_EXPR) > > + *v_reduc_type = COND_REDUCTION; > >Wouldn't this be easier written as > >if (code == COND_EXPR) > *v_reduc_type = COND_REDUCTION; >else if (!commutative_tree_code (code) || !associative_tree_code (code)) > {...} > >? Your call! > >Cheers, Alan Good spot! I suspect that’s slipped through when I’ve rewritten bits. I’ll add this in with Richard’s suggestion of the change around the call to vectorizable_condition. Alan.