2018-05-15 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / graphite / id-30.c
blobf8144cec4f28a36c58c1cd3004146732174be7f3
1 /* The modulo constraints we generate for the niter expression
2 (unsinged long)ubound - (unsigned long)lbound
3 end up with a modulo that we cannot represent in the expression
4 type we are using (int64_t), so we run into the codegen error
5 where ISL generates a modulo/divide by sth that doesn't fit the
6 type we code-generate with. Verify we properly elide those. */
8 void foo (double *a, long int lbound0, long int ubound0,
9 long int lbound1, long int ubound1, long int stride1)
11 if (lbound0 < ubound0)
12 for (long int i = lbound0; i <= ubound0; ++i)
13 if (lbound1 < ubound1)
14 for (long int j = lbound1; j <= ubound1; ++j)
15 a[i*stride1 + j] = 0.;