This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/63679] [5/6 Regression][AArch64] Failure to constant fold.
- From: "rguenther at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 29 Jul 2015 07:23:41 +0000
- Subject: [Bug target/63679] [5/6 Regression][AArch64] Failure to constant fold.
- Auto-submitted: auto-generated
- References: <bug-63679-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63679
--- Comment #34 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 28 Jul 2015, pinskia at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63679
>
> --- Comment #33 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
> (In reply to alalaw01 from comment #32)
> > and the optimized tree is:
> >
> > foo ()
> > {
> > int vect_sum_9.6;
> > int stmp_sum_9.5;
> > vector(4) int vect_sum_9.4;
> > const vector(4) int vect__8.3;
> > const int a[8];
> >
> > <bb 2>:
> > MEM[(int[8] *)&a] = { 0, 1, 2, 3 };
> > MEM[(int[8] *)&a + 16B] = { 4, 5, 6, 7 };
> > vect__8.3_20 = MEM[(int *)&a];
> > vect__8.3_18 = MEM[(int *)&a + 16B];
>
> So a missing constant prop here.
Yes, but DOM should have handled this.
>
> > vect_sum_9.4_23 = vect__8.3_18 + vect__8.3_20;
>
> Also most likely we don't have much constant folding for this.
We do.
> > stmp_sum_9.5_25 = [reduc_plus_expr] vect_sum_9.4_23;
>
> Or even this.
Likewise.
> But once those are resolved, this whole function will resolve itself :).
RTL CSE should catch the constant prop I think but I doubt we have
much vector op simplify_rtx support.