[Bug tree-optimization/57051] [4.8/4.9 Regression] Optimization regression in 4.8.0 from 4.7.2
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 24 08:30:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57051
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Known to work| |4.7.3
Version|unknown |4.8.0
Keywords| |missed-optimization
Last reconfirmed| |2013-04-24
CC| |glisse at gcc dot gnu.org,
| |rguenth at gcc dot gnu.org
Ever Confirmed|0 |1
Summary|Optimization regression in |[4.8/4.9 Regression]
|4.8.0 from 4.7.2 |Optimization regression in
| |4.8.0 from 4.7.2
Target Milestone|--- |4.8.1
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-24 08:30:06 UTC ---
It seems scev_cprop doesn't do its job here.
(get_scalar_evolution
(scalar = total.1_8)
(scalar_evolution = {pretmp_14, +, _6 + 10}_1))
that's ok - SCCP doesn't provide any info in dumps, but I suppose it
fails to compute the number of iterations here(!?).
And we don't constant-fold the vectorized code:
pretmp_14 = total;
vect_total.18_44 = { 40, 60, 80, 100 } v>> 64;
vect_total.18_45 = vect_total.18_44 + { 40, 60, 80, 100 };
vect_total.18_46 = vect_total.18_45 v>> 32;
vect_total.18_47 = vect_total.18_46 + vect_total.18_45;
stmp_total.17_48 = BIT_FIELD_REF <vect_total.18_47, 32, 0>;
vect_total.19_49 = stmp_total.17_48 + pretmp_14;
total.1_9 = vect_total.19_49 + 80;
total.1_20 = vect_total.19_49 + 170;
total = total.1_20;
because we do not constant-fold vector shifts. Two ways to attack the
problem (SCCP failure needs to be analyzed). In 4.7 SCCP works.
More information about the Gcc-bugs
mailing list