[Bug tree-optimization/18940] New: Loop is not vectorized when it should be
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Dec 11 18:47:00 GMT 2004
Here is another case which my tree combiner confuses the other tree optimizations but it should not.
I get in .vect: "not vectorized: number of iterations cannot be computed.".
If I change D1360 to be just n, it works.
If I change "n <= 1" to be "D1360 <= 0" It works (on the mainline without my tree combiner which is
the opposite of what my tree combiner does).
typedef float afloat __attribute__ ((__aligned__(16)));
int
main1 (int n , afloat * __restrict__ pa, afloat * __restrict__ pb)
{
int i;
int ivtmp51;
int ivtmp35;
int D1360 = n/2;
if (n <= 1) return 0;
ivtmp35 = 1;
do {
ivtmp51 = ivtmp35;
pa[ivtmp51] = pb[ivtmp51];
ivtmp35 = ivtmp51 + 1;
} while (D1360 > ivtmp51);
return 0;
}
--
Summary: Loop is not vectorized when it should be
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: minor
Priority: P2
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18940
More information about the Gcc-bugs
mailing list