This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Adapt one fold-const optimization for vectors


On Tue, Oct 30, 2012 at 01:14:40PM +0100, Marc Glisse wrote:
> On Tue, 30 Oct 2012, Marek Polacek wrote:
> 
> >On Tue, Oct 30, 2012 at 08:05:13AM +0100, Marc Glisse wrote:
> >>Hello,
> >>
> >>one more optimization that needed help for vectors, it crashed on
> >>(x<y)<0. Because of PR 55001, testcases are awkward to add (I could
> >>do a x86-only one if needed).
> >>
> >>bootstrap+testsuite.
> >>
> >>2012-10-30  Marc Glisse  <marc.glisse@inria.fr>
> >>
> >>	* fold-const.c (fold_binary_op_with_conditional_arg): Handle vectors.
> >>	(fold_binary_loc): call it for VEC_COND_EXPR.

Capital C instead of lowercase.

> >
> >Patch missing?
> 
> Indeed, thanks for the notice.

This regressed
FAIL: g++.dg/other/vector-compare.C (internal compiler error)
FAIL: g++.dg/other/vector-compare.C (test for excess errors)
on i686-linux.  The problem is that tree-vect-generic.c doesn't expand
BLKmode VEC_COND_EXPR piecewise.  So, either fold-const on this optimization
needs to test whether expand_vec_cond_expr_p is true for the chosen
pair of comparison type and operand type, or tree-vect-generic.c needs to be
tought to expand VEC_COND_EXPR piecewise if expand_vec_cond_expr_p is not
true for the particular VEC_COND_EXPR.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]